diff --git a/paper_template/cdsc-paper.sty b/paper_template/cdsc-paper.sty new file mode 100644 index 0000000..672ee09 --- /dev/null +++ b/paper_template/cdsc-paper.sty @@ -0,0 +1,110 @@ +% Article-class styles and page layout for CDSC paper documents. +% +% This file replaces the older cdsc-memoir.sty. It targets the +% standard `article' class so the LaTeX tagging-project can produce +% tagged, accessible PDFs --- memoir is currently incompatible with +% that work. The look-and-feel is kept as close to the previous +% cdsc-article chapterstyle as is practical. +% +% Copyright 2009-2026 Benjamin Mako Hill +% Copyright 2008-2009 Kieran Healy + +% Distributed as free software under the GNU GPL v3 + +\usepackage{lastpage} +\usepackage{datetime} +\usepackage{xcolor} + +%%% Page styles (replaces memoir's \makepagestyle / \makeevenhead etc.) +\usepackage{fancyhdr} +\setlength{\headheight}{14.5pt} +\addtolength{\topmargin}{-2.5pt} + +% Basic: page number in small caps in the upper-right corner +\fancypagestyle{cdsc-page}{% + \fancyhf{}% + \fancyhead[R]{\scshape\thepage}% + \renewcommand{\headrulewidth}{0pt}% +} + +% Variant with git revision info in the footer (requires the vc package). +\fancypagestyle{cdsc-page-git}{% + \fancyhf{}% + \fancyhead[R]{\scshape\thepage}% + \fancyfoot[C]{\texttt{\footnotesize\textcolor{BrickRed}{git revision \VCRevision\ on \VCDateTEX}}}% + \renewcommand{\headrulewidth}{0pt}% +} + +% Variant with a build timestamp in the footer (useful on Overleaf/etc.) +\fancypagestyle{cdsc-page-overleaf}{% + \fancyhf{}% + \fancyhead[R]{\scshape\thepage}% + \fancyfoot[C]{\texttt{\footnotesize\textcolor{BrickRed}{Buildstamp/Version:~\today}}}% + \renewcommand{\headrulewidth}{0pt}% +} + +\pagestyle{cdsc-page} + +%%% Section heading styles (replaces memoir's \setsecheadstyle etc.) +\usepackage{titlesec} + +% Sections: large small caps; period after the number +\titleformat{\section} + {\large\scshape}{\thesection.}{0.5em}{} +\titlespacing*{\section}{0pt}{*2}{1.7ex} + +% Subsections: italic +\titleformat{\subsection} + {\normalsize\itshape}{\thesubsection.}{0.5em}{} + +% Subsubsections: small bold, runin (matches memoir's negative skip behavior) +\titleformat{\subsubsection}[runin] + {\small\bfseries}{\thesubsubsection.}{0.5em}{}[\hskip 0.5em] + +% By default, suppress numbering at the section level (matches the +% memoir template's default of \setsecnumdepth{chapter}). To enable +% numbered sections and subsections, comment the line below and +% uncomment the alternative. +\setcounter{secnumdepth}{0} +% \setcounter{secnumdepth}{2} + +%%% Title block (titling package replaces memoir's title hooks) +\usepackage{titling} + +% Title flush left, italic, large +\pretitle{\flushleft\LARGE\itshape} +\posttitle{\par\vskip 0.5em} +\preauthor{\flushleft\large\lineskip 1em} +\postauthor{\par\lineskip 1em} +\predate{\flushleft\footnotesize\vspace{0.65em}} +\postdate{\par\vskip 1em} + +%% \published{...}: a note about the publication status, printed in +%% small type at the very top of the title block. Use this for +%% draft/working-paper notices. +\newcommand{\puB}{} +\newcommand{\published}[1]{\gdef\puB{#1}} +\renewcommand{\maketitlehooka}{\par\noindent\footnotesize\puB} + +%%% Abstract: runin style ("**Abstract:** the quick brown fox..."), +%%% indented from both margins (via the quote environment, which gives +%%% the side indent without adding first-line paragraph indentation). +\renewenvironment{abstract}% + {\par\addvspace{\medskipamount}\small + \begin{quote}\noindent\textbf{Abstract:}\hspace{0.5em}\ignorespaces}% + {\end{quote}\par\medskip} + +%%% List spacing (replaces memoir's \firmlists --- tighter lists) +\usepackage{enumitem} +\setlist{topsep=0pt, partopsep=0pt} + +%%% Caption font +\usepackage{caption} +\captionsetup{font=small} + +%%% Footnote symbol command (for \thanks{} footnotes that should not +%%% have a numeric mark). Use as \symbolfootnote[0]{Footnote text}. +\long\def\symbolfootnote[#1]#2{\begingroup% + \def\thefootnote{\fnsymbol{footnote}}\footnote[#1]{#2}\endgroup} + +\endinput