\documentclass{amsart} \usepackage[a4paper, margin=3cm]{geometry} \usepackage[english]{babel} \usepackage[foot]{amsaddr} \usepackage[onehalfspacing]{setspace} \usepackage[pdfusetitle, colorlinks=true, linkcolor=blue, urlcolor=blue]{hyperref} \usepackage{adjustbox} \usepackage{amsfonts} \usepackage{amsmath} \usepackage{amssymb} \usepackage{array} \usepackage{booktabs} \usepackage{cleveref} \usepackage{csquotes} \usepackage{caption} \usepackage{enumitem} \usepackage{lipsum} \usepackage{lmodern} \usepackage{microtype} \usepackage{parskip} \usepackage{xcolor} \usepackage{xurl} \usepackage{csthm} \newcommand{\cmnd}[1]{\texttt{\textbackslash#1}} \newcommand{\env}[1]{\texttt{#1}} \newcommand{\opt}[1]{\texttt{#1}} \newcommand{\pkg}[1]{\textsf{#1}} \setcounter{tocdepth}{1} \setlist{nosep,noitemsep} \title[The \pkg{csthm} Package]{The \pkg{csthm} Package\\[1ex]\large A Comprehensive Set of Theorem Environments for Computer Science} \author{Agni Datta} \address[Version 1.3]{January 16, 2025} \begin{document} \begin{abstract} The \pkg{csthm} package provides a comprehensive collection of theorem-like environments specifically designed for use in computer science documentation. It features a range of customizable theorem styles, distinct visual markers for different types of content, integrated support for cross-referencing, and extensive customization options. This documentation provides detailed examples, usage guidelines, and a complete overview of all available environments and features in the package. \end{abstract} \maketitle \tableofcontents \section{Package Overview} The \pkg{csthm} package offers a robust and flexible solution for typesetting theorems, definitions, proofs, and related content typically found in computer science literature. The package provides a variety of specialized environments, each with distinct visual markers and formatting styles suited to different types of content. Key features include: \begin{itemize} \item Distinct visual styles for different content types, including theorems, definitions, proofs, and more. \item Customizable theorem headers and QED symbols. \item Optional integration with the \pkg{cleveref} package for enhanced cross-referencing. \item Specialized environments tailored for theoretical computer science content. \item Support for both numbered and unnumbered variants of all environments. \end{itemize} \subsection{Installation} The \pkg{csthm} package can be installed via your TeX distribution's package manager or downloaded directly from CTAN: \begin{itemize} \item \url{https://ctan.org/pkg/csthm} \end{itemize} \subsection{Basic Usage} To use the package, simply include it in the preamble of your document: \begin{verbatim} \usepackage{csthm} \end{verbatim} If you require integration with the \pkg{cleveref} package for enhanced cross-referencing, load the package as follows: \begin{verbatim} \usepackage[cleveref]{csthm} \end{verbatim} \section{Environments} The \pkg{csthm} package provides a wide range of theorem-like environments. Each environment is associated with a distinct visual style, marked by a specific bullet symbol. The package supports both numbered and unnumbered versions of each environment, with the unnumbered variants achieved by appending an asterisk (\texttt{*}) to the environment name (e.g., \texttt{theorem*}). \subsection{Complete List of Environments} \Cref{tab:environments} outlines the available environments in the \pkg{csthm} package, including their respective styles and descriptions. \begin{table}[!ht] \centering \begin{adjustbox}{valign=c, width=\textwidth} \begin{tabular}{>{\ttfamily}l>{\ttfamily}ll} \toprule \normalfont\textbf{Environment} & \normalfont\textbf{Style} & \textbf{Description} \\ \midrule \multicolumn{3}{l}{\textbf{Mathematical Theorems} --- Marked with black triangle ($\blacktriangleright$)} \\ \cmidrule{1-3} theorem & thmstyle & Main theoretical results \\ assumption & thmstyle & Assumptions and prerequisites \\ axiom & thmstyle & Fundamental statements accepted without proof \\ claim & thmstyle & Minor results within proofs \\ conjecture & thmstyle & Unproven mathematical statements \\ corollary & thmstyle & Results that follow from theorems \\ fact & thmstyle & Well-known or established results \\ hypothesis & thmstyle & Proposed explanations or predictions \\ lemma & thmstyle & Supporting theoretical results \\ property & thmstyle & Characteristic attributes or features \\ proposition & thmstyle & Minor theoretical results \\ \midrule \multicolumn{3}{l}{\textbf{Definitions and Protocols} --- Marked with black square ($\blacksquare$)} \\ \cmidrule{1-3} definition & defstyle & Formal definitions of terms \\ notation & defstyle & Explanation of mathematical notation \\ problem & defstyle & Problem statements or tasks \\ protocol & defstyle & Step-by-step procedures or algorithms \\ \midrule \multicolumn{3}{l}{\textbf{Remarks and Examples} --- Marked with hollow triangle ($\vartriangleright$)} \\ \cmidrule{1-3} example & remarkstyle & Illustrative examples \\ note & remarkstyle & Additional information or clarifications \\ remark & remarkstyle & Observations or comments \\ \midrule \multicolumn{3}{l}{\textbf{Highlights} --- Marked with hollow square ($\square$)} \\ \cmidrule{1-3} exercise & hltstyle & Practice problems or exercises \\ highlight & hltstyle & Emphasized content \\ important & hltstyle & Critical information \\ keypoint & hltstyle & Essential concepts or takeaways \\ \midrule \multicolumn{3}{l}{\textbf{Special Environments}} \\ \cmidrule{1-3} proof & proofstyle & Proofs with custom QED symbol \\ case & (list) & Enumerated case analysis \\ \bottomrule \multicolumn{3}{p{\linewidth}}{\small\smallskip Note: All environments (except proof and case) have unnumbered versions available by adding an asterisk (*) to the environment name (e.g., theorem*).} \end{tabular} \end{adjustbox} \caption{Complete List of Environments Provided by the \pkg{csthm} Package} \label{tab:environments} \end{table} \subsection{Mathematical Theorems} These environments are used to represent core theoretical results and are marked with a black triangle ($\blacktriangleright$) bullet. Here are some examples: \begin{theorem} This is a sample theorem environment. \end{theorem} \begin{assumption} This is a sample assumption environment. \end{assumption} \begin{axiom} This is a sample axiom environment. \end{axiom} \begin{claim} This is a sample claim environment. \end{claim} \begin{conjecture} This is a sample conjecture environment. \end{conjecture} \begin{corollary} This is a sample corollary environment. \end{corollary} \begin{fact} This is a sample fact environment. \end{fact} \begin{hypothesis} This is a sample hypothesis environment. \end{hypothesis} \begin{lemma} This is a sample lemma environment. \end{lemma} \begin{property} This is a sample property environment. \end{property} \begin{proposition} This is a sample proposition environment. \end{proposition} \subsection{Definitions and Protocols} These environments are used for definitions, notations, problems, and protocols. They are marked with a black square ($\blacksquare$) bullet: \begin{definition} This is a sample definition environment. \end{definition} \begin{notation} This is a sample notation environment. \end{notation} \begin{problem} This is a sample problem environment. \end{problem} \begin{protocol} This is a sample protocol environment. \end{protocol} \subsection{Remarks and Examples} These environments provide additional explanations and clarifications, marked with a hollow triangle ($\vartriangleright$) bullet: \begin{example} This is a sample example environment. \end{example} \begin{note} This is a sample note environment. \end{note} \begin{remark} This is a sample remark environment. \end{remark} \subsection{Highlights and Important Content} These environments emphasize key concepts, tasks, or points, marked with a hollow square ($\square$) bullet: \begin{exercise} This is a sample exercise environment. \end{exercise} \begin{highlight} This is a sample highlight environment. \end{highlight} \begin{important} This is a sample important environment. \end{important} \begin{keypoint} This is a sample keypoint environment. \end{keypoint} \subsection{Special Environments} The proof environment provides a custom QED symbol, and the case environment allows for enumerated cases: \begin{proof} This is a sample proof environment with a custom QED symbol. \end{proof} \subsubsection{Case Analysis} The \env{case} environment provides an enumerated list for case analysis: \begin{case} \item Case 1: This is the first case. \item Case 2: This is the second case. \item Case 3: This is the third case. \end{case} \subsection{Customization} The \pkg{csthm} package offers extensive customization options. Below are examples of common customizations. \subsubsection{Accent Color} To change the accent color used for theorem headers and symbols, you can use the following commands: \begin{verbatim} \setaccentcolor{darkblue} % or \renewcommand{\accentcolor}{darkblue} \end{verbatim} \subsubsection{QED Symbols} You can customize the QED symbol used in proof environments with the following command: \begin{verbatim} \renewcommand\qedsymbol{$\scriptstyle\color{\accentcolor}\blacksquare$} \end{verbatim} \section{Implementation Notes} \subsection{Dependencies} The following packages are required for the correct functionality of the \pkg{csthm} package: \begin{itemize} \item \pkg{amsmath} - Provides advanced mathematical typesetting features. \item \pkg{amssymb} - Adds additional mathematical symbols. \item \pkg{amsthm} - Basic theorem functionality. \item \pkg{enumitem} - Customizes list environments. \item \pkg{thmtools} - Provides advanced theorem tools. \end{itemize} Optional dependencies include: \begin{itemize} \item \pkg{hyperref} - Enables hyperlinked cross-references. \item \pkg{cleveref} - Provides enhanced cross-referencing features. \end{itemize} \section{Version History} \begin{description} \ttfamily \item[v1.0 (2024/01/01)] Initial release. \item[v1.1 (2024/05/15)] Added support for \pkg{cleveref}. \item[v1.2 (2024/08/31)] Released on CTAN. \item[v1.3 (2025/01/16)] Current version: \begin{itemize} \item Added starred versions of all environments. \item Enhanced theorem styling. \item Added new environments. \item Improved customization options. \end{itemize} \end{description} \section{License} This work may be distributed and/or modified under the conditions of the \LaTeX\ Project Public License, either version 1.3c or later. The latest version is available at \href{http://www.latex-project.org/lppl.txt}{\LaTeX\ Project Public License}. \section{Contact and Support} For bug reports, feature requests, or general feedback, please contact: \begin{itemize} \item \textbf{Email:} \url{agnidatta.org@gmail.com} \item \textbf{GitHub:} \url{https://github.com/agnidatta/csthm} \item \textbf{CTAN:} \url{https://ctan.org/pkg/csthm} \end{itemize} \end{document}