18
0

memo_template: add new article-class memo template

Replaces the assignment_template with a memo-format template based
on the article class. The look-and-feel is ported from the old
cdsc-memo chapterstyle in cdsc-memoir.sty: a single-line "TITLE
[hfill] AUTHOR" header and sans-serif uppercase section headings.

Like the migrated paper_template, this builds with lualatex and
produces a tagged, PDF/UA-2 compliant PDF. verapdf --flavour ua2:
0 failures, 1723 passed rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 12:33:37 -07:00
parent c0406f157f
commit 1e79d8d0f6
7 changed files with 212 additions and 305 deletions

View File

@@ -1,15 +0,0 @@
/auto/
/cache/
/vc
/refs-processed.bib
/*.aux
/*.bbl
/*.blg
/*.log
/*.out
/*.pdf
/*.fdb_latexmk
/*.fls
/*.ttt
/*.bcf
/*.run.xml

View File

@@ -1,28 +0,0 @@
#!/usr/bin/make
all: $(patsubst %.tex,%.pdf,$(wildcard *.tex))
# use the following section for Rnw/knitr documents
# all: $(patsubst %.Rnw,%.pdf,$(wildcard *.Rnw))
# %.tex: %.Rnw
# Rscript -e "library(knitr); knit('$<')"
%.pdf: %.tex
latexmk -f -lualatex $<
clean:
latexmk -C *.tex
rm -f *.tmp *.run.xml
rm -f vc
rm -f *.bbl
# the following lines are useful for Rnw/knitr
# rm -rf cache/ figure/
# rm -f *.tex
viewpdf: all
evince *.pdf
pdf: all
.PHONY: clean all
# .PRECIOUS: %.tex

View File

@@ -1,223 +0,0 @@
% Some article styles and page layout tweaks for the LaTeX Memoir class.
%
% Copyright 2009 Benjamin Mako Hill <mako@atdot.cc>
% Copyright 2008-2009 Kieran Healy <kjhealy@soc.duke.edu>
% Distributed as free software under the GNU GPL v3
% This file is heavily based on one by Kieran Healy
% available here: http://github.com/kjhealy/latex-custom-kjh/
\usepackage{lastpage}
% blank footnote
% Use \symbolfootnote[0]{Footnote text} for a blank footnote.
% Useful for initial acknowledgment note.
\long\def\symbolfootnote[#1]#2{\begingroup%
\def\thefootnote{\fnsymbol{footnote}}\footnote[#1]{#2}\endgroup}
% put a period after the section numbers
\setsecnumformat{\csname the#1\endcsname.\enspace}
% >> article-1 <<
\makechapterstyle{article-1}{
\setsecheadstyle{\large\scshape}
\setsubsecheadstyle{\normalsize\itshape}
\renewcommand{\printchaptername}{}
\renewcommand{\chapternamenum}{}
\renewcommand{\chapnumfont}{\chaptitlefont}
\renewcommand{\printchapternum}{\chapnumfont \thechapter\space}
\renewcommand{\afterchapternum}{}
\renewcommand{\printchaptername}{\secheadstyle}
\renewcommand{\cftchapterfont}{\normalfont}
\renewcommand{\cftchapterpagefont}{\normalfont\scshape}
\renewcommand{\cftchapterpresnum}{\scshape}
\captiontitlefont{\small}
% turn off chapter numbering
\counterwithout{section}{chapter}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
% reduce skip after section heading
\setaftersecskip{1.2ex}
\pretitle{\newline\centering \LARGE\scshape \MakeLowercase }
\posttitle{\par\vskip 1em}
\predate{\footnotesize \centering}
\postdate{\par\vskip 1em}
% 'abstract' title, bigger skip from title
\renewcommand{\abstractname}{}
\abstractrunin
% set name of bibliography to 'references'
\renewcommand{\bibname}{References}
}
% >> article-2 <<
\makechapterstyle{article-2}{
\setsecheadstyle{\large\scshape}
\setsubsecheadstyle{\normalsize\itshape}
\setaftersubsubsecskip{-1em}
\setsubsubsecheadstyle{\bfseries}
\renewcommand{\printchaptername}{}
\renewcommand{\chapternamenum}{}
\renewcommand{\chapnumfont}{\chaptitlefont}
\renewcommand{\printchapternum}{\chapnumfont \thechapter\space}
\renewcommand{\afterchapternum}{}
\renewcommand{\printchaptername}{\secheadstyle}
\renewcommand{\cftchapterfont}{\normalfont}
\renewcommand{\cftchapterpagefont}{\normalfont\scshape}
\renewcommand{\cftchapterpresnum}{\scshape}
\captiontitlefont{\small}
% turn off chapter numbering
\counterwithout{section}{chapter}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
% supress chapter numbers
\maxsecnumdepth{chapter}
\setsecnumdepth{chapter}
% for numbered sections and subsections:
% (a) comment out the above stanza; (b) uncomment the one below
% \maxsecnumdepth{subsection}
% \setsecnumdepth{subsection}
% reduce skip after section heading
\setaftersecskip{1.7ex}
% Title flush left
\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}
% 'abstract' title, bigger skip from title
\renewcommand{\abstractname}{Abstract:}
\renewcommand{\abstractnamefont}{\normalfont\small\bfseries}
\renewcommand{\abstracttextfont}{\normalfont\small}
\setlength{\absparindent}{0em}
\setlength{\abstitleskip}{-1.5em}
\abstractrunin
% set name of bibliography to 'references'
\renewcommand{\bibname}{References}
}
% >> article-3 <<
\makechapterstyle{article-3}{
\setsecheadstyle{\large\sffamily\bfseries\MakeUppercase}
\setsubsecheadstyle{\normalsize\itshape}
\setaftersubsubsecskip{-1em}
\setsubsubsecheadstyle{\small\bfseries}
\renewcommand{\printchaptername}{}
\renewcommand{\chapternamenum}{}
\renewcommand{\chapnumfont}{\chaptitlefont}
\renewcommand{\printchapternum}{\chapnumfont \thechapter\space}
\renewcommand{\afterchapternum}{}
\renewcommand{\printchaptername}{\secheadstyle}
\renewcommand{\cftchapterfont}{\normalfont}
\renewcommand{\cftchapterpagefont}{\normalfont\scshape}
\renewcommand{\cftchapterpresnum}{\scshape}
\captiontitlefont{\small}
% turn off chapter numbering
\counterwithout{section}{chapter}
\counterwithout{figure}{chapter}
\counterwithout{table}{chapter}
% supress chapter numbers
\maxsecnumdepth{chapter}
\setsecnumdepth{chapter}
% reduce skip after section heading
\setaftersecskip{1pt}
\setbeforesecskip{-1em}
% 'abstract' title, bigger skip from title
% \renewcommand{\maketitle}{\{\preauthor \theauthor\} \hfill \thetitle}
\renewcommand{\maketitle}{
{\Large\sffamily\bfseries\MakeUppercase\thetitle} \hfill
{\Large\sffamily\MakeUppercase\theauthor}
\vskip 0.7em}
\renewcommand{\abstractname}{\normalfont\scriptsize\noindent}
\renewcommand{\abstracttextfont}{\normalfont\scriptsize}
\abstractrunin
% set name of bibliography to 'references'
\renewcommand{\bibname}{References}
\parindent 0pt
}
%%% Custom styles for headers and footers
%%% Basic
\makepagestyle{mako-mem}
%\makeevenfoot{mako-mem}{\thepage}{}{}
%\makeoddfoot{mako-mem}{}{}{\thepage}
%\makeheadrule{mako-mem}{\textwidth}{\normalrulethickness}
\newcommand{\@makomarks}{%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markboth{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\thechapter. \ %
\fi
\fi
##1}{}}
\def\sectionmark##1{%
\markright{##1}}
}
\makepsmarks{mako-mem}{\@makomarks}
\makepsmarks{mako-mem}{}
\makeevenhead{mako-mem}{}{}{\scshape\thepage}
\makeoddhead{mako-mem}{}{}{\scshape\thepage}
%%% version control info in footers; requires vc package
% Make the style for vc-git revision control headers and footers
\makepagestyle{mako-mem-git}
\newcommand{\@gitmarks}{%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markboth{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\thechapter. \ %
\fi
\fi
##1}{}}
\def\sectionmark##1{%
\markright{##1}}
}
\makepsmarks{mako-mem-git}{\@gitmarks}
\makeevenhead{mako-mem-git}{}{}{\scshape\thepage}
\makeoddhead{mako-mem-git}{}{}{\scshape\thepage}
\makeevenfoot{mako-mem-git}{}{\texttt{\footnotesize{\textcolor{BrickRed}{git revision \VCRevision\ on \VCDateTEX}}}}{}
\makeoddfoot{mako-mem-git}{}{\texttt{\footnotesize \textcolor{BrickRed}{git revision \VCRevision\ on \VCDateTEX}}}{}
%% Create a command to make a note at the top of the first page describing the
%% publication status of the paper.
\newcommand{\published}[1]{%
\gdef\puB{#1}}
\newcommand{\puB}{}
\renewcommand{\maketitlehooka}{%
\par\noindent\footnotesize \puB}
\makepagestyle{memo}
\makeevenhead{memo}{}{}{}
\makeoddhead{memo}{}{}{}
\makeevenfoot{memo}{}{\scshape \thepage/\pageref{LastPage}}{}
\makeoddfoot{memo}{}{\scshape \thepage/\pageref{LastPage}}{}
\endinput

View File

@@ -1,82 +0,0 @@
% memoir is currently incompatible with the LaTeX tagged-PDF code, so we
% load just the PDF management layer (for metadata). When memoir support
% lands upstream, swap this block for the commented-out \DocumentMetadata +
% tagpdf lines below. See https://github.com/latex3/tagging-project/issues/910
\RequirePackage{pdfmanagement-testphase}
\DeclareDocumentMetadata{lang=en-US,pdfversion=2.0}
% \DocumentMetadata{
% pdfversion=2.0,
% pdfstandard=ua-2,
% lang=en-US,
% }
\documentclass[12pt]{memoir}
% article-1 and article-2 styles were originally based on kieran healy's
% templates
\usepackage{mako-mem}
\chapterstyle{article-2}
% \usepackage{tagpdf}
% \tagpdfsetup{activate-all}
% with article-3 \chapterstyle, change to: \pagestyle{memo}
\pagestyle{mako-mem}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\setsansfont{TeX Gyre Heros}
\usepackage[letterpaper,left=1.65in,right=1.65in,top=1.3in,bottom=1.2in]{geometry}
% packages i use in essentially every document
\usepackage{graphicx}
\usepackage{enumerate}
% packages i use in many documents but leave off by default
% \usepackage{amsmath, amsthm, amssymb}
% \usepackage{dcolumn}
% \usepackage{endfloat}
% import and customize urls
\usepackage[usenames,dvipsnames]{color}
\usepackage[breaklinks]{hyperref}
\hypersetup{colorlinks=true, linkcolor=Black, citecolor=Black, filecolor=Blue,
urlcolor=Blue, unicode=true,
pdflang={en-US},
pdfdisplaydoctitle=true}
% add bibliographic stuff
% memoir function to take out of the space out of the whitespace lists
\firmlists
% LATEX NOTE: these lines will import vc stuff after running `make vc` which
% will add version control information to the bottom of each page. This can be
% useful for keeping track of which version of a document somebody has:
% \input{vc}
% \pagestyle{mako-mem-git}
\begin{document}
\setlength{\parskip}{4.5pt}
% LATEX NOTE: Ideal linespacing is usually said to be between 120-140% the
% typeface size. So, for 12pt (default in this document, we're looking for
% somewhere between a 14.4-17.4pt \baselineskip. Single; 1.5 lines; and Double
% in MSWord are equivalent to ~117%, 175%, and 233%.
\baselineskip 16pt
\title{Title}
\author{Nathan TeBlunthuis\\
\href{mailto:nathante@uw.edu}{nathante@uw.edu}}
\date{\today}
\maketitle
\section{Section}
\end{document}
% LocalWords: