18
0

Compare commits

..

18 Commits

Author SHA1 Message Date
22832af588 removed wiki page 2026-04-26 12:43:05 -07:00
dab1be34c5 README: reflect memo template, drop memoir incompatibility note
- Replace assignment_template references with memo_template.
- Update the type list in the new_tex_document section.
- Update the aliases section (new_tex_assignment -> new_tex_memo).
- Drop the migration entry for the assignment script.
- Rewrite the Accessibility section: now all four templates are
  PDF/UA-2 compliant (paper and memo were ported off memoir to the
  article class with custom .sty files), so the memoir-blocked
  caveat no longer applies.
- Add poster to the master-branch templates list.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 12:34:19 -07:00
0aee418e2a new_tex_document, cdsc_tex_aliases.sh: assignment -> memo
Update the script and the alias file to match the rename of
assignment_template to memo_template. The 'assignment' type is
replaced by 'memo' in new_tex_document; the new_tex_assignment
alias becomes new_tex_memo.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 12:34:11 -07:00
1e79d8d0f6 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>
2026-04-26 12:33:37 -07:00
c0406f157f paper_template: migrate to article class with full UA-2 tagging
Drops the memoir class in favor of the standard article class so the
LaTeX tagging-project can produce fully tagged PDFs. The metadata-only
\\DeclareDocumentMetadata workaround is replaced by the full
\\DocumentMetadata{pdfstandard=ua-2} path with tagpdf activated.

text.tex is now built against cdsc-paper.sty (added in the previous
commit); cdsc-memoir.sty is removed. Other changes:

- pdftitle/pdfauthor are set explicitly in \\hypersetup. UA-2 strict
  mode requires dc:title in the XMP packet, and pdfusetitle does not
  propagate \\title{}/\\author{} into XMP under this setup.
- The memoir-only \\firmlists call is dropped (cdsc-paper.sty handles
  list spacing via enumitem).
- The memoir-only \\prebibhook reference is removed from defbibheading.

verapdf --flavour ua2: 0 failures, 1723 passed rules.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 11:21:42 -07:00
6643132141 paper_template: add cdsc-paper.sty (article-class style)
This is an article-class equivalent of the cdsc-article chapterstyle
from cdsc-memoir.sty, written so the paper template can drop memoir
(which is incompatible with the LaTeX tagging-project) while keeping
the same look and feel.

Uses titlesec for section heads, titling for the title block,
fancyhdr for the page styles, enumitem for tighter list spacing,
and caption for the caption font. The runin abstract and \\published
note hooks behave the same as before.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 11:15:53 -07:00
cc993ca40d README: document lualatex requirement and accessibility status
Adds texlive-luatex to the Debian dependency list, documents the
switch to LuaLaTeX + EB Garamond/TeX Gyre Heros, and adds a new
Accessibility section describing which templates produce tagged
PDF/UA-2 output and why the memoir-based templates don't (yet).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:14:46 -07:00
c316de3312 paper + assignment: add PDF metadata via pdfmanagement-testphase
memoir is not yet compatible with the LaTeX tagged-PDF code, so full
\DocumentMetadata (which pulls in all the latex-lab tagging machinery)
crashes at compile time. Use \RequirePackage{pdfmanagement-testphase}
plus \DeclareDocumentMetadata to get the PDF-management layer — document
language, PDF 2.0 — without triggering tagging. Also adds pdflang and
pdfdisplaydoctitle to the existing hypersetup.

The \DocumentMetadata block and tagpdf load are left in the file as
commented-out lines so this is a one-edit swap once memoir gains
tagging support upstream:

    https://github.com/latex3/tagging-project/issues/910

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:14:38 -07:00
c4a709c22c poster_template: add tagged PDF (PDF/UA-2) accessibility
Enables \DocumentMetadata (pdfversion=2.0, pdfstandard=ua-2) and
tagpdf with activate-all. Adds an H1 structure tag around every
frame title via \addtobeamertemplate, wraps the overlay-only tikz
helpers (\marktopleft, \markbottomright, \credit) in artifact tags
so they don't pollute the reading order, and adds alt text to each
\includegraphics. Verified compliant with verapdf's PDF/UA-2 profile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:13:50 -07:00
2b29f051a6 letter_template: add tagged PDF (PDF/UA-2) accessibility
Enables \DocumentMetadata (pdfversion=2.0, pdfstandard=ua-2) and loads
tagpdf with activate-all, plus hyperref metadata (pdftitle, pdfauthor,
pdflang, pdfdisplaydoctitle) since the letter class does not expose
\title/\author for the PDF management layer to pick up. Verified
compliant with verapdf's PDF/UA-2 profile.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:12:22 -07:00
a0674e7f87 Switch templates to LuaLaTeX with fontspec
Moves paper, assignment, and letter templates from pdflatex to
lualatex, and replaces the Type-1 font setup (mathdesign/garamond,
ucs/utf8x, T1 fontenc) with fontspec using EB Garamond for the main
font and TeX Gyre Heros for sans. This produces PDFs whose text
extracts cleanly and is a prerequisite for tagged/accessible PDF
output.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:11:51 -07:00
27e9bc3254 Drop Type-1 font defaults from cdsc-memoir.sty and mako-mem.sty
These set \rmdefault=ugm (URW Garamond) and \sfdefault=phv (Helvetica),
which only take effect under pdflatex. Under the lualatex workflow
adopted elsewhere, text fonts are selected via fontspec in the
template's main .tex file, and these defaults were dead code.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:11:28 -07:00
bd8fa11def poster_template: embed fonts in example figure PDFs
The bundled example figures referenced base-14 Helvetica without
embedding it, which blocks PDF/UA-2 compliance for any poster that
includes them. Regenerated via ~/bin/embed-fonts (ghostscript with
-dEmbedAllFonts=true).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:11:21 -07:00
f43488ef70 poster_template: comment out biblatex-dependent stanza
\DeclareLanguageMapping and \defbibheading come from biblatex, which the
template does not load. The template has failed to compile without local
edits for some time as a result.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:11:14 -07:00
34b6fe4401 Remove duplicate assignment_template/HW1.tex
HW1.tex was identical to text.tex except for a stale author name
(TeGrotenhuis vs. TeBlunthuis). new_tex_document only uses text.tex
and renames it on checkout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-12 21:07:57 -07:00
3b444f70fc Consolidate document creation scripts and fix bugs
Replace the individual new_knitr_document, new_tex_assignment, and
new_tex_letter scripts with a single new_tex_document script that takes
a document type as its first argument. Fix bugs present in all scripts:
unquoted variables, TMPDIR name collision, missing existence checks, and
mktemp running unconditionally. Add cdsc_tex_aliases.sh for backwards
compatibility with old script names. Add rename_tex_to_dirname script
(moved from ~/bin). Update README and wiki page to reflect new setup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 10:31:08 -07:00
86fbf0f0a6 remove deprecated option to xcolor (usenames) 2026-03-23 12:48:34 +09:00
5d115f3b36 move from color to xcolor 2026-03-21 16:03:32 +09:00
40 changed files with 621 additions and 808 deletions

135
README
View File

@@ -1,50 +1,143 @@
================================ ================================
=== LaTeX Custom Scripts ====== === CDSC LaTeX Templates =======
================================ ================================
Copyright (c) 2009-2025 Benjamin Mako Hill <mako@atdot.cc> / <makohill@uw.edu> Copyright (c) 2009-2026 Benjamin Mako Hill <mako@atdot.cc> / <makohill@uw.edu>
This repository contains LaTeX configuration files that I use to format This repository contains LaTeX configuration files and templates used to
my papers. They are all released under the GNU GPL version 3 or later. format papers, memos, letters, and posters. All files are released under
the GNU GPL version 3 or later.
The latest version can be found in git at: The latest version can be found in git at:
https://gitea.communitydata.science/collective/cdsc_tex https://gitea.communitydata.science/collective/cdsc_tex
As scripts and configuration files, I do not "release" these files. You You can check out the latest version with:
can always check out the latest version with Git with the following
command:
git clone https://gitea.communitydata.science/collective/cdsc_tex.git git clone https://gitea.communitydata.science/collective/cdsc_tex.git
Bug reports, comments, questions, and patches can all be directed to: Bug reports, comments, questions, and patches can be directed to:
Benjamin Mako Hill <makohill@uw.edu> [work] Benjamin Mako Hill <makohill@uw.edu> [work]
Benjamin Mako Hill <mako@atdot.cc> [personal] Benjamin Mako Hill <mako@atdot.cc> [personal]
To submit a patch, clone the repository, make your changes, and use
git format-patch to generate patch files to send by email:
git format-patch origin/master
git send-email *.patch
================================ ================================
=== Dependencies =============== === Dependencies ===============
================================ ================================
If you are running Debian or Ubuntu, you will first need to install the On Debian or Ubuntu, install the following packages:
following packages:
* rubber * latexmk
* texlive-luatex
* texlive-latex-recommended * texlive-latex-recommended
* texlive-fonts-extra * texlive-fonts-extra
* texlive-fonts-recommended * texlive-fonts-recommended
* texlive-bibtex-extra * texlive-bibtex-extra
You can do so with the following command: apt install latexmk texlive-luatex texlive-latex-recommended \
apt-get install rubber texlive-latex-recommended \
texlive-fonts-extra texlive-fonts-recommended \ texlive-fonts-extra texlive-fonts-recommended \
texlive-bibtex-extra texlive-bibtex-extra
I don't know the details of setting up these LaTeX files to work with on On other systems, installing a full TeX Live distribution should provide
systems other than Debian or Ubuntu but imagine it will involve everything needed.
installing a full TeX Live distribution.
In my templates, I make extensive use of the following Garamond font: All four templates build with LuaLaTeX (via latexmk -lualatex). The text
fonts are EB Garamond (provided by texlive-fonts-extra) and TeX Gyre
Heros.
http://www.ctan.org/tex-archive/fonts/urw/garamond/ ================================
=== Accessibility ==============
================================
All four templates produce PDF/UA-2 compliant tagged PDFs via the
LaTeX tagging project (\DocumentMetadata + tagpdf). You can verify
compliance with verapdf: https://verapdf.org/
The paper and memo templates were originally built on the memoir
class, which is incompatible with the LaTeX tagged-PDF code. They now
use the standard article class with custom styling (cdsc-paper.sty
and cdsc-memo.sty) to keep their previous look while supporting full
tagging.
================================
=== Branches ===================
================================
This repository has two main branches:
master Standard LaTeX templates (paper, memo, letter, poster)
knitr Knitr/R template for reproducible research documents
================================
=== Scripts ====================
================================
new_tex_document
----------------
Creates a new document directory from a template. Takes a document type
and destination directory as arguments:
new_tex_document <type> <directory>
Available types:
paper LaTeX paper template (master branch)
memo LaTeX memo template (master branch)
knitr Knitr/R paper template (knitr branch)
letter LaTeX letter template (master branch)
Example:
new_tex_document paper my-new-paper
This creates my-new-paper/ populated with the template files, with the
main source file renamed to my-new-paper.tex (or .Rtex for knitr).
rename_tex_to_dirname
---------------------
Renames the single .tex file in the current directory to match the
directory name. Useful for cleaning up a template that was set up
manually:
cd my-paper && rename_tex_to_dirname
================================
=== Shell Aliases ==============
================================
The file cdsc_tex_aliases.sh provides aliases for the old individual
script names, for convenience or backwards compatibility. Add the
following to your .bashrc or .zshrc:
[[ -f ~/tex/cdsc_tex/cdsc_tex_aliases.sh ]] && \
source ~/tex/cdsc_tex/cdsc_tex_aliases.sh
This defines the following aliases (only if new_tex_document is in PATH):
new_tex_memo → new_tex_document memo
new_knitr_document → new_tex_document knitr
new_tex_letter → new_tex_document letter
================================
=== Migration ==================
================================
The individual scripts new_knitr_document and new_tex_letter have
been consolidated into new_tex_document. The old scripts remain in
the repository but are superseded.
To migrate, replace calls to the old scripts with new_tex_document:
Old: new_knitr_document mydir
New: new_tex_document knitr mydir
Old: new_tex_letter mydir
New: new_tex_document letter mydir
Alternatively, source cdsc_tex_aliases.sh (see above) to keep using the
old names without changing your workflow.

View File

@@ -1,67 +0,0 @@
\documentclass[12pt]{memoir}
% article-1 and article-2 styles were originally based on kieran healy's
% templates
\usepackage{mako-mem}
\chapterstyle{article-2}
% with article-3 \chapterstyle, change to: \pagestyle{memo}
\pagestyle{mako-mem}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[garamond]{mathdesign}
\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}
% 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 TeGrotenhuis\\
\href{mailto:nathante@uw.edu}{nathante@uw.edu}}
\date{\today}
\maketitle
\section{Section}
\end{document}
% LocalWords:

View File

@@ -1,232 +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}{
\renewcommand{\rmdefault}{ugm}
\renewcommand{\sfdefault}{phv}
\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}{
\renewcommand{\rmdefault}{ugm}
\renewcommand{\sfdefault}{phv}
\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}{
\renewcommand{\rmdefault}{ugm}
\renewcommand{\sfdefault}{phv}
\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,67 +0,0 @@
\documentclass[12pt]{memoir}
% article-1 and article-2 styles were originally based on kieran healy's
% templates
\usepackage{mako-mem}
\chapterstyle{article-2}
% with article-3 \chapterstyle, change to: \pagestyle{memo}
\pagestyle{mako-mem}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[garamond]{mathdesign}
\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}
% 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:

9
cdsc_tex_aliases.sh Normal file
View File

@@ -0,0 +1,9 @@
# Aliases for cdsc_tex document creation scripts.
# Source this file from ~/.bashrc or ~/.zshrc:
# source ~/tex/cdsc_tex/cdsc_tex_aliases.sh
if command -v new_tex_document > /dev/null 2>&1; then
alias new_tex_memo='new_tex_document memo'
alias new_knitr_document='new_tex_document knitr'
alias new_tex_letter='new_tex_document letter'
fi

View File

@@ -3,7 +3,7 @@
all: $(patsubst %.tex,%.pdf,$(wildcard *.tex)) all: $(patsubst %.tex,%.pdf,$(wildcard *.tex))
%.pdf: %.tex %.pdf: %.tex
latexmk -f -pdf $< latexmk -f -lualatex $<
clean: clean:
latexmk -C *.tex latexmk -C *.tex

View File

@@ -1,16 +1,26 @@
\DocumentMetadata{
pdfversion=2.0,
pdfstandard=ua-2,
lang=en-US,
}
\documentclass[12pt]{letter} \documentclass[12pt]{letter}
\usepackage{ucs} \usepackage{fontspec}
\usepackage[utf8x]{inputenc} \setmainfont{EB Garamond}
\setsansfont{TeX Gyre Heros}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\renewcommand{\rmdefault}{ugm}
\renewcommand{\sfdefault}{phv}
\usepackage[garamond]{mathdesign}
\usepackage[letterpaper,left=1.3in,right=1.3in,top=0.8in,bottom=0.8in]{geometry} \usepackage[letterpaper,left=1.3in,right=1.3in,top=0.8in,bottom=0.8in]{geometry}
\usepackage{tagpdf}
\tagpdfsetup{activate-all}
\usepackage{hyperref}
\hypersetup{unicode=true,
pdftitle={Letter},
pdfauthor={Benjamin Mako Hill},
pdflang={en-US},
pdfdisplaydoctitle=true}
\begin{document} \begin{document}
\begin{letter}{Person Letter is Addressed To\\ \begin{letter}{Person Letter is Addressed To\\

View File

@@ -8,7 +8,7 @@ all: $(patsubst %.tex,%.pdf,$(wildcard *.tex))
# Rscript -e "library(knitr); knit('$<')" # Rscript -e "library(knitr); knit('$<')"
%.pdf: %.tex %.pdf: %.tex
latexmk -f -pdf $< latexmk -f -lualatex $<
clean: clean:
latexmk -C *.tex latexmk -C *.tex
@@ -22,6 +22,8 @@ clean:
viewpdf: all viewpdf: all
evince *.pdf evince *.pdf
vc: resources/vc-git
pdf: all pdf: all
.PHONY: clean all .PHONY: clean all

View File

@@ -0,0 +1,90 @@
% Memo-style page layout for CDSC documents.
%
% Article-class equivalent of the old cdsc-memo chapterstyle that
% lived in cdsc-memoir.sty. Targets the standard `article' class so
% the LaTeX tagging-project can produce tagged, accessible PDFs.
%
% Look-and-feel: sans-serif uppercase title and author on a single
% line, sans-serif uppercase section headings, no paragraph indent,
% and a small-caps "page/total" footer.
%
% Copyright 2009-2026 Benjamin Mako Hill <mako@atdot.cc>
% Copyright 2008-2009 Kieran Healy <kjhealy@soc.duke.edu>
% Distributed as free software under the GNU GPL v3
\usepackage{lastpage}
\usepackage{xcolor}
%%% Page style: empty header; "page/total" centered in the footer.
\usepackage{fancyhdr}
\setlength{\headheight}{14.5pt}
\addtolength{\topmargin}{-2.5pt}
\fancypagestyle{cdsc-page-memo}{%
\fancyhf{}%
\fancyfoot[C]{\scshape\thepage/\pageref*{LastPage}}%
\renewcommand{\headrulewidth}{0pt}%
}
% Variant with git revision info in the footer (requires the vc package).
\fancypagestyle{cdsc-page-memo-git}{%
\fancyhf{}%
\fancyfoot[C]{\texttt{\footnotesize\textcolor{BrickRed}{git revision \VCRevision\ on \VCDateTEX}}}%
\renewcommand{\headrulewidth}{0pt}%
}
\pagestyle{cdsc-page-memo}
%%% Section headings: large sans-serif bold uppercase, with the
%%% tight before/after spacing the original memo style used.
\usepackage{titlesec}
\titleformat{\section}
{\normalsize\sffamily\bfseries\MakeUppercase}{\thesection.}{0.5em}{}
\titlespacing*{\section}{0pt}{*1.5}{1pt}
\titleformat{\subsection}
{\small\sffamily\bfseries\MakeUppercase}{\thesubsection.}{0.5em}{}
\titlespacing*{\subsection}{0pt}{*1}{1pt}
\titleformat{\subsubsection}[runin]
{\footnotesize\sffamily\bfseries}{\thesubsubsection.}{0.5em}{}[\hskip 0.5em]
% By default, suppress section numbering. To enable numbered sections
% and subsections, comment the line below and uncomment the alternative.
\setcounter{secnumdepth}{0}
% \setcounter{secnumdepth}{2}
%%% Title block: "TITLE [...] AUTHOR" on a single line, no date.
\usepackage{titling}
\renewcommand{\maketitle}{%
\par\noindent\footnotesize\puB\par
{\large\sffamily\bfseries\MakeUppercase\thetitle}\hfill
{\large\sffamily\MakeUppercase\theauthor}%
\par\vskip 0.7em%
}
%% \published{...}: a note about publication status, printed in small
%% type at the very top of the title block.
\newcommand{\puB}{}
\newcommand{\published}[1]{\gdef\puB{#1}}
%%% List spacing
\usepackage{enumitem}
\setlist{topsep=0pt, partopsep=0pt}
%%% Caption font
\usepackage{caption}
\captionsetup{font=small}
%%% No paragraph indent (memos use a blank-line paragraph break style).
\setlength{\parindent}{0pt}
%%% 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

14
memo_template/refs.bib Normal file
View File

@@ -0,0 +1,14 @@
@inproceedings{989866,
author = {Ken Hinckley and Gonzalo Ramos and François
Guimbretiere and Patrick Baudisch and Marc Smith},
title = {Stitching: pen gestures that span multiple displays},
booktitle = {AVI '04: Proceedings of the working conference on
Advanced visual interfaces},
year = {2004},
isbn = {1-58113-867-9},
pages = {23--31},
location = {Gallipoli, Italy},
doi = {http://doi.acm.org/10.1145/989863.989866},
publisher = {ACM Press},
address = {New York, NY, USA},
}

106
memo_template/text.tex Normal file
View File

@@ -0,0 +1,106 @@
% Tagged PDF (PDF/UA-2) accessibility setup. The article class works
% with the LaTeX tagging-project, so we use the full \DocumentMetadata
% path here.
\DocumentMetadata{
pdfversion=2.0,
pdfstandard=ua-2,
lang=en-US,
}
\documentclass[12pt]{article}
\usepackage{cdsc-memo}
\usepackage{tagpdf}
\tagpdfsetup{activate-all}
\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}
% urls and colors
\usepackage[dvipsnames]{xcolor}
\usepackage[breaklinks]{hyperref}
% pdftitle/pdfauthor populate PDF and XMP metadata; keep these in sync
% with \title{} and \author{} below. UA-2 requires dc:title in XMP.
\hypersetup{colorlinks=true, linkcolor=Black, citecolor=Black, filecolor=Blue,
urlcolor=Blue, unicode=true,
pdftitle={Memo Title},
pdfauthor={Your Name},
pdflang={en-US},
pdfdisplaydoctitle=true}
% list of footnote symbols for \thanks{}
\makeatletter
\renewcommand*{\@fnsymbol}[1]{\ensuremath{\ifcase#1\or *\or \dagger\or \ddagger\or
\mathsection\or \mathparagraph\or \|\or **\or \dagger\dagger
\or \ddagger\ddagger \else\@ctrerr\fi}}
\makeatother
\newcommand*\samethanks[1][\value{footnote}]{\footnotemark[#1]}
% add bibliographic stuff
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[natbib=true, style=apa, backend=biber]{biblatex}
\addbibresource{refs.bib}
\DeclareLanguageMapping{american}{american-apa}
\defbibheading{secbib}[\bibname]{%
\section*{#1}%
\markboth{#1}{#1}%
\baselineskip 14.2pt}
\def\citepos#1{\citeauthor{#1}'s (\citeyear{#1})}
\def\citespos#1{\citeauthor{#1}' (\citeyear{#1})}
% LATEX NOTE: these lines will import vc stuff after running `make vc`,
% which adds a git revision footer to each page:
% \input{vc}
% \pagestyle{cdsc-page-memo-git}
\begin{document}
\setlength{\parskip}{4.5pt}
\baselineskip 16pt
\title{Memo Title}
\author{Your Name}
\maketitle
\section{Section}
The quick brown fox jumps over the lazy dog. The quick brown fox jumps
over the lazy dog. The quick brown fox jumps over the lazy dog. The
quick brown fox jumps over the lazy dog. The quick brown fox jumps over
the lazy dog \citep{989866}.
\section{Another Section}
The quick brown fox jumps over the lazy dog. The quick brown fox jumps
over the lazy dog. The quick brown fox jumps over the lazy dog. The
quick brown fox jumps over the lazy dog.
\subsection{A Subsection}
The quick brown fox jumps over the lazy dog. The quick brown fox jumps
over the lazy dog.
% bibliography
\setcounter{biburlnumpenalty}{9001}
\printbibliography[title = {References}, heading=secbib]
\end{document}
% LocalWords:

View File

@@ -1,22 +0,0 @@
#!/bin/sh
# Helper script to export LaTeX templates for new documents
# Copyright (c) 2009-2016 Benjamin Mako Hill <mako@atdot.cc>
# Released under the GPLv3 or later.
CURDIR=$(pwd)
TMPDIR=$(mktemp -d)
if test $1
then
cd "$HOME/tex/cdsc_tex"
git archive --format=tar knitr paper_template|tar x --strip=1 -C "$TMPDIR"
cd "$CURDIR"
# get rid of paper_template subdir
mv "$TMPDIR" "$1"
cd "$1";
mv "text.Rtex" "$1.Rtex"
else
echo "specifiy a directory where the template should go";
fi

View File

@@ -1,22 +0,0 @@
#!/bin/sh
# Helper script to export LaTeX templates for new documents
# Copyright (c) 2009-2018 Benjamin Mako Hill <mako@atdot.cc>
# Released under the GPLv3 or later.
CURDIR=$(pwd)
TMPDIR=$(mktemp -d)
if test $1
then
cd "$HOME/tex/cdsc_tex"
git archive --format=tar master assignment_template|tar x --strip=1 -C "$TMPDIR"
cd "$CURDIR"
# get rid of paper_template subdir
mv "$TMPDIR" "$1"
cd "$1";
mv "text.tex" "$1.tex"
else
echo "specifiy a directory where the template should go";
fi

View File

@@ -1,22 +1,64 @@
#!/bin/sh #!/bin/sh
# Helper script to export LaTeX templates for new documents # Helper script to export LaTeX/knitr templates for new documents
# Copyright (c) 2009-2016 Benjamin Mako Hill <mako@atdot.cc> # Copyright (c) 2009-2026 Benjamin Mako Hill <mako@atdot.cc>
# Released under the GPLv3 or later. # Released under the GPLv3 or later.
set -e
CURDIR=$(pwd) CURDIR=$(pwd)
TMPDIR=$(mktemp -d)
if test $1 usage() {
then echo "Usage: $(basename "$0") <type> <directory>"
cd "$HOME/tex/cdsc_tex" echo "Types: paper, memo, knitr, letter"
git archive --format=tar master paper_template|tar x --strip=1 -C "$TMPDIR" exit 1
cd "$CURDIR" }
# get rid of paper_template subdir [ -n "$1" ] && [ -n "$2" ] || usage
mv "$TMPDIR" "$1"
cd "$1"; TYPE="$1"
mv "text.tex" "$1.tex" DEST="$2"
else
echo "specifiy a directory where the template should go"; case "$TYPE" in
paper)
REPO="$HOME/tex/cdsc_tex"
BRANCH="master"
TEMPLATE="paper_template"
EXT="tex"
;;
memo)
REPO="$HOME/tex/cdsc_tex"
BRANCH="master"
TEMPLATE="memo_template"
EXT="tex"
;;
knitr)
REPO="$HOME/tex/cdsc_tex"
BRANCH="knitr"
TEMPLATE="paper_template"
EXT="Rtex"
;;
letter)
REPO="$HOME/tex/cdsc_tex"
BRANCH="master"
TEMPLATE="letter_template"
EXT="tex"
;;
*)
echo "error: unknown type '$TYPE'"
usage
;;
esac
if [ -e "$DEST" ]; then
echo "error: '$DEST' already exists"
exit 1
fi fi
WORK_DIR=$(mktemp -d)
cd "$REPO"
git archive --format=tar "$BRANCH" "$TEMPLATE" | tar x --strip=1 -C "$WORK_DIR"
cd "$CURDIR"
mv "$WORK_DIR" "$DEST"
cd "$DEST"
mv "text.$EXT" "$(basename "$DEST").$EXT"

View File

@@ -1,21 +0,0 @@
#!/bin/sh
# Helper script to export LaTeX templates for new letters
# Copyright (c) 2009-2016 Benjamin Mako Hill <mako@atdot.cc>
# Released under the GPLv3 or later.
CURDIR=$(pwd)
TMPDIR=$(mktemp -d)
if test $1
then
cd "$HOME/tex/latex_mako"
git archive --format=tar HEAD letter_template|tar x --strip=1 -C "$TMPDIR"
cd "$CURDIR"
# get rid of paper_template subdir
mv "$TMPDIR" "$1"
cd "$1";
mv "text.tex" "$1.tex"
else
echo "specifiy a directory where the template should go";
fi

View File

@@ -13,5 +13,3 @@
/*.ttt /*.ttt
/*.bcf /*.bcf
/*.run.xml /*.run.xml
/figures/*
/*.tex

View File

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

View File

@@ -1,209 +0,0 @@
% Some article styles and page layout tweaks for the LaTeX Memoir
% class.
%
% Copyright 2009-2018 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 was originally based on one by Kieran Healy
% available here: http://github.com/kjhealy/latex-custom-kjh/
%%% Custom styles for headers and footers
%%% Basic
\makepagestyle{cdsc-page}
%\makeevenfoot{cdsc-page}{\thepage}{}{}
%\makeoddfoot{cdsc-page}{}{}{\thepage}
%\makeheadrule{cdsc-page}{\textwidth}{\normalrulethickness}
\newcommand{\@cdscmarks}{%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markboth{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\thechapter. \ %
\fi
\fi
##1}{}}
\def\sectionmark##1{%
\markright{##1}}
}
\makepsmarks{cdsc-page}{\@cdscmarks}
\makepsmarks{cdsc-page}{}
\makeevenhead{cdsc-page}{}{}{\scshape\thepage}
\makeoddhead{cdsc-page}{}{}{\scshape\thepage}
%%% version control info in footers; requires vc package
% Make the style for vc-git revision control headers and footers
\makepagestyle{cdsc-page-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{cdsc-page-git}{\@gitmarks}
\makeevenhead{cdsc-page-git}{}{}{\scshape\thepage}
\makeoddhead{cdsc-page-git}{}{}{\scshape\thepage}
\makeevenfoot{cdsc-page-git}{}{\texttt{\footnotesize{\textcolor{BrickRed}{git revision \VCRevision\ on \VCDateTEX}}}}{}
\makeoddfoot{cdsc-page-git}{}{\texttt{\footnotesize \textcolor{BrickRed}{git revision \VCRevision\ on \VCDateTEX}}}{}
%%% print a datestamp from ShareLaTeX
\makepagestyle{cdsc-page-overleaf}
\newcommand{\@slmarks}{%
\let\@mkboth\markboth
\def\chaptermark##1{%
\markboth{%
\ifnum \c@secnumdepth >\m@ne
\if@mainmatter
\thechapter. \ %
\fi
\fi
##1}{}}
\def\sectionmark##1{%
\markright{##1}}
}
\makepsmarks{cdsc-page-overleaf}{\@slmarks}
\makeevenhead{cdsc-page-overleaf}{}{}{\scshape\thepage}
\makeoddhead{cdsc-page-overleaf}{}{}{\scshape\thepage}
\makeevenfoot{cdsc-page-overleaf}{}{\texttt{\footnotesize{\textcolor{BrickRed}{Buildstamp/Version:~\pdfdate}}}}{}
\makeoddfoot{cdsc-page-overleaf}{}{\texttt{\footnotesize{\textcolor{BrickRed}{Buildstamp/Version:~\pdfdate}}}}{}
%% 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{cdsc-page-memo}
\makeevenhead{cdsc-page-memo}{}{}{}
\makeoddhead{cdsc-page-memo}{}{}{}
\makeevenfoot{cdsc-page-memo}{}{\scshape \thepage/\pageref{LastPage}}{}
\makeoddfoot{cdsc-page-memo}{}{\scshape \thepage/\pageref{LastPage}}{}
\usepackage{lastpage}
\usepackage{datetime}
% 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}
% set fonts to garamond and helvetica
\renewcommand{\rmdefault}{ugm}
\renewcommand{\sfdefault}{phv}
% material shared between the two modes
\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}
% for numbered sections and subsections:
% (a) comment out the above stanza; (b) uncomment the one below
% \maxsecnumdepth{subsection}
% \setsecnumdepth{subsection}
% set name of bibliography to 'references'
\renewcommand{\bibname}{References}
% >> cdsc-article <<
\makechapterstyle{cdsc-article}{
% section heading sytle
\setsecheadstyle{\large\scshape}
% 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
% this is the default page style for chapters
\pagestyle{cdsc-page}
}
% >> cdsc-memo <<
\makechapterstyle{cdsc-memo}{
% section heading sytle
\setsecheadstyle{\large\sffamily\bfseries\MakeUppercase}
% reduce skip after section heading
\setaftersecskip{1pt}
\setbeforesecskip{-1em}
\setaftersubsecskip{1pt}
\setbeforesubsecskip{-1em}
% \setaftersubsubsecskip{1pt}
% \setbeforesubsubsecskip{-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
% this is the default page style for chapters
\pagestyle{cdsc-page-memo}
}
\endinput

View File

@@ -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 <mako@atdot.cc>
% Copyright 2008-2009 Kieran Healy <kjhealy@soc.duke.edu>
% 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

View File

@@ -1,50 +0,0 @@
bold <- function(x) {paste('{\\textbf{',x,'}}', sep ='')}
gray <- function(x) {paste('{\\textcolor{gray}{',x,'}}', sep ='')}
wrapify <- function (x) {paste("{", x, "}", sep="")}
# load("knitr_data.RData"); now broken up into small files so we'll bring 'em all in together
r <- do.call("c", lapply(paste("knitr_rdata/", list.files("knitr_rdata"), sep=""),
function (x) {load(x); return(r)}))
attach(r)
f <- function (x) {formatC(x, format="d", big.mark=',')}
format.percent <- function(x) {paste(f(x*100),"\\%",sep='')}
format.day.ordinal <- function(x) {
day <- format(x,format="%d")
daylast <- substr(day,nchar(day),nchar(day))
dayfirst <- substr(day,1,1)
if(dayfirst == '0')
day = daylast
if( daylast == "1")
day <- paste0(day,"st")
else if(daylast == "2")
day <- paste0(day,"nd")
else if (daylast == "3")
day <- paste0(day,"rd")
else
day <- paste0(day,"th")
return(day)
}
format.month <- function(x){
return( format(x,format='%B %Y'))
}
format.date <- function(x) {
return(paste(format(x,format = '%B'),format.day.ordinal(x),format(x,format='%Y'),sep=' '))
}
format.pvalue <- function (x, digits=3) {
threshold <- 1*10^(-1*digits)
x <- round(x, digits)
if (x < threshold) {
return(paste("p<", threshold, sep=""))
} else {
return(paste("p=", x, sep=""))
}
}

View File

@@ -1,32 +1,23 @@
\documentclass[12pt]{memoir} % Tagged PDF (PDF/UA-2) accessibility setup. The article class works
% with the LaTeX tagging-project, so we use the full \DocumentMetadata
% path here.
\DocumentMetadata{
pdfversion=2.0,
pdfstandard=ua-2,
lang=en-US,
}
\usepackage{cdsc-memoir} \documentclass[12pt]{article}
% there are two chapter styles: cdsc-article and cdsc-memo
% memo assumes that you remove the "\\" and the email address from the
% \author field below as well as that you will comment out the
% \published tag
\chapterstyle{cdsc-article}
\usepackage[utf8]{inputenc} \usepackage{cdsc-paper}
\usepackage{tagpdf}
\tagpdfsetup{activate-all}
\usepackage{fontspec}
\setmainfont{EB Garamond}
\setsansfont{TeX Gyre Heros}
\usepackage{wrapfig} \usepackage{wrapfig}
<<init, echo=FALSE>>=
knit_hooks$set(document = function(x) {
x <- sub('\\usepackage[]{color}',
'\\usepackage[usenames,dvipsnames]{color}', x, fixed = TRUE)
x <- sub('\\usepackage[]{xcolor}',
'\\usepackage[usenames,dvipsnames]{xcolor}', x, fixed = TRUE)
x
})
opts_chunk$set(fig.path="figures/knitr-")
source("resources/preamble.R")
@
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage[garamond]{mathdesign}
\usepackage[letterpaper,left=1.65in,right=1.65in,top=1.3in,bottom=1.2in]{geometry} \usepackage[letterpaper,left=1.65in,right=1.65in,top=1.3in,bottom=1.2in]{geometry}
% packages i use in essentially every document % packages i use in essentially every document
@@ -39,9 +30,17 @@ source("resources/preamble.R")
% \usepackage{endfloat} % \usepackage{endfloat}
% import and customize urls % import and customize urls
\usepackage[dvipsnames]{xcolor}
\usepackage[breaklinks]{hyperref} \usepackage[breaklinks]{hyperref}
% pdftitle/pdfauthor populate PDF and XMP metadata; keep these in sync
% with \title{} and \author{} below. UA-2 requires dc:title in XMP.
\hypersetup{colorlinks=true, linkcolor=Black, citecolor=Black, filecolor=Blue, \hypersetup{colorlinks=true, linkcolor=Black, citecolor=Black, filecolor=Blue,
urlcolor=Blue, unicode=true} urlcolor=Blue, unicode=true,
pdftitle={Title},
pdfauthor={Your Name},
pdflang={en-US},
pdfdisplaydoctitle=true}
% list of footnote symbols for \thanks{} % list of footnote symbols for \thanks{}
\makeatletter \makeatletter
@@ -61,15 +60,11 @@ source("resources/preamble.R")
\defbibheading{secbib}[\bibname]{% \defbibheading{secbib}[\bibname]{%
\section*{#1}% \section*{#1}%
\markboth{#1}{#1}% \markboth{#1}{#1}%
\baselineskip 14.2pt% \baselineskip 14.2pt}
\prebibhook}
\def\citepos#1{\citeauthor{#1}'s (\citeyear{#1})} \def\citepos#1{\citeauthor{#1}'s (\citeyear{#1})}
\def\citespos#1{\citeauthor{#1}' (\citeyear{#1})} \def\citespos#1{\citeauthor{#1}' (\citeyear{#1})}
% 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 % 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 % 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: % useful for keeping track of which version of a document somebody has:
@@ -146,15 +141,6 @@ brown fox jumps over the lazy dog. The quick brown fox jumps over the
lazy dog. The quick brown fox jumps over the lazy dog. The quick brown lazy dog. The quick brown fox jumps over the lazy dog. The quick brown
fox jumps over the lazy dog \citep{989866}. fox jumps over the lazy dog \citep{989866}.
\begin{table}
\centering
<<test_table, echo=FALSE>>=
kable(form.copy, format="latex")
@
\caption{This is a test table. There are \Sexpr{f(nrow(form.copy))} rows in the table.}
\label{tab:test}
\end{table}
The quick brown fox jumps over the lazy dog. The quick brown fox jumps The quick brown fox jumps over the lazy dog. The quick brown fox jumps
over the lazy dog. The quick brown fox jumps over the lazy dog. The over the lazy dog. The quick brown fox jumps over the lazy dog. The
quick brown fox jumps over the lazy dog. The quick brown fox jumps over quick brown fox jumps over the lazy dog. The quick brown fox jumps over

Binary file not shown.

Binary file not shown.

View File

@@ -1,7 +1,24 @@
\DocumentMetadata{
pdfversion=2.0,
pdfstandard=ua-2,
lang=en-US,
}
\documentclass[xcolor=dvipsnames, 12pt]{beamer} \documentclass[xcolor=dvipsnames, 12pt]{beamer}
\usepackage[size=custom, width=114, height=80, scale=1.5]{beamerposter} \usepackage[size=custom, width=114, height=80, scale=1.5]{beamerposter}
\usepackage{tagpdf}
\tagpdfsetup{activate-all}
% Tag frame titles as H1 headings for PDF accessibility
\addtobeamertemplate{frametitle}{%
\tagstructbegin{tag=H1}%
\tagmcbegin{tag=H1}%
}{%
\tagmcend%
\tagstructend%
}
\usepackage[absolute,overlay]{textpos} \usepackage[absolute,overlay]{textpos}
% set up the file to create notes in the output PDFs % set up the file to create notes in the output PDFs
@@ -41,10 +58,10 @@
\tikzstyle{every picture}+=[overlay,remember picture] \tikzstyle{every picture}+=[overlay,remember picture]
% add functions to circle parts of slides (e.g., in tables) % add functions to circle parts of slides (e.g., in tables)
\newcommand\marktopleft[1]{\tikz \node (marker-#1-a) at (0,1.5ex) {};} \newcommand\marktopleft[1]{\tagmcbegin{artifact}\tikz \node (marker-#1-a) at (0,1.5ex) {};\tagmcend}
\newcommand\markbottomright[1]{% \newcommand\markbottomright[1]{%
\tikz{\node (marker-#1-b) at (0,0) {};} \tagmcbegin{artifact}\tikz{\node (marker-#1-b) at (0,0) {};}\tagmcend
\tikz[dashed,inner sep=3pt]{\node[violet!75,ultra thick,draw,rounded rectangle,fit=(marker-#1-a.center) (marker-#1-b.center)] {};}} \tagmcbegin{artifact}\tikz[dashed,inner sep=3pt]{\node[violet!75,ultra thick,draw,rounded rectangle,fit=(marker-#1-a.center) (marker-#1-b.center)] {};}\tagmcend}
% DEPRECATED function to build a huge centered dropshadow % DEPRECATED function to build a huge centered dropshadow
\newcommand\dropshadow[3]{% \newcommand\dropshadow[3]{%
@@ -88,13 +105,13 @@
\usepackage{url} \usepackage{url}
% \usepackage{dcolumn} % \usepackage{dcolumn}
% \usepackage{booktabs} % \usepackage{booktabs}
% bibliography stuff % bibliography stuff — uncomment these if you load biblatex
\DeclareLanguageMapping{american}{american-apa} % \DeclareLanguageMapping{american}{american-apa}
\defbibheading{secbib}[\bibname]{% % \defbibheading{secbib}[\bibname]{%
\section{#1}% % \section{#1}%
\markboth{#1}{#1}% % \markboth{#1}{#1}%
\baselineskip 14.2pt% % \baselineskip 14.2pt%
\prebibhook} % \prebibhook}
\def\citepos#1{\citeauthor{#1}'s (\citeyear{#1})} \def\citepos#1{\citeauthor{#1}'s (\citeyear{#1})}
\def\citespos#1{\citeauthor{#1}' (\citeyear{#1})} \def\citespos#1{\citeauthor{#1}' (\citeyear{#1})}
@@ -149,7 +166,9 @@
%\useoutertheme{infolines}p %\useoutertheme{infolines}p
%\usepackage[breaklinks]{hyperref} %\usepackage[breaklinks]{hyperref}
\hypersetup{colorlinks=true, linkcolor=Black, citecolor=Black, filecolor=makopurple1, urlcolor=Plum, unicode=true} \hypersetup{colorlinks=true, linkcolor=Black, citecolor=Black, filecolor=makopurple1, urlcolor=Plum, unicode=true,
pdflang={en-US},
pdfdisplaydoctitle=true}
% create a boldface version of the header % create a boldface version of the header
\setbeamerfont{frametitle}{series=\bfseries} \setbeamerfont{frametitle}{series=\bfseries}
@@ -185,7 +204,7 @@
\newcommand{\credit}[1]{% \newcommand{\credit}[1]{%
\tikz[overlay]{\node at (current page.south east) \tikz[overlay]{\node at (current page.south east)
[anchor=south east,yshift=1.3em,xshift=0.35em] [anchor=south east,yshift=1.3em,xshift=0.35em]
{\smaller {[}#1{]}};}} {\tagmcbegin{artifact}\smaller {[}#1{]}\tagmcend};}}
\begin{document} \begin{document}
\begin{frame}[t]{} \begin{frame}[t]{}
@@ -195,7 +214,7 @@
\vspace*{1ex} \vspace*{1ex}
\includegraphics[width=8cm]{figures/uw_logo} \includegraphics[width=8cm,alt={University of Washington logo}]{figures/uw_logo}
\vspace*{1ex} \vspace*{1ex}
\end{textblock} \end{textblock}
@@ -248,7 +267,7 @@
\end{textblock} \end{textblock}
\begin{textblock}{2}(122,0) \begin{textblock}{2}(122,0)
\includegraphics[width=6.5cm]{figures/logo} \includegraphics[width=6.5cm,alt={Community Data Science Collective logo}]{figures/logo}
\vspace*{1ex} \vspace*{1ex}
\end{textblock} \end{textblock}
@@ -279,7 +298,7 @@
\vspace{1em} \vspace{1em}
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.8\textwidth]{figures/taboo topics hypotheses.jpg} \includegraphics[width=0.8\textwidth,alt={Diagram of project hypotheses}]{figures/taboo topics hypotheses.jpg}
\end{figure} \end{figure}
@@ -301,7 +320,7 @@ With billions of viewers, Wikipedia is one of the top ten most visited sites on
\vspace{0.3em} \vspace{0.3em}
\begin{center} \begin{center}
\begin{figure} \begin{figure}
\includegraphics[width=0.8\textwidth]{figures/viewsBox.pdf} \includegraphics[width=0.8\textwidth,alt={Boxplot of article ranks by popularity}]{figures/viewsBox.pdf}
\caption{Rank of articles in our sample versus all articles with dictionary salience. The most popular article is ranked ``1''.} \caption{Rank of articles in our sample versus all articles with dictionary salience. The most popular article is ranked ``1''.}
\end{figure} \end{figure}
\end{center} \end{center}
@@ -323,7 +342,7 @@ Definitions tagged with euphemistic usages were marked as taboo. We extracted al
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=\textwidth]{figures/member.png} \includegraphics[width=\textwidth,alt={Screenshot of the Wiktionary definition of ``member''}]{figures/member.png}
\caption{The Wiktionary definition of ``member''---which has meanings ranging from the organizational to the anatomical.} \caption{The Wiktionary definition of ``member''---which has meanings ranging from the organizational to the anatomical.}
\label{fig:wiktEntry} \label{fig:wiktEntry}
@@ -340,7 +359,7 @@ To develop a comparison sample, we filtered the population of articles to just t
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=.9\textwidth]{figures/V2 Taboo Topics Analytical Pipeline.pdf} \includegraphics[width=.9\textwidth,alt={Flowchart of the analytical pipeline}]{figures/V2 Taboo Topics Analytical Pipeline.pdf}
\caption{Our analytical pipeline first extracts n-grams, labeling them taboo if they are drawn from definitions tagged as euphemistic. Our samples are drawn from those articles that match these n-grams.} \label{fig:pipeline} \caption{Our analytical pipeline first extracts n-grams, labeling them taboo if they are drawn from definitions tagged as euphemistic. Our samples are drawn from those articles that match these n-grams.} \label{fig:pipeline}
\end{figure} \end{figure}
\end{block} \end{block}
@@ -352,7 +371,7 @@ To develop a comparison sample, we filtered the population of articles to just t
\vspace{0.3em} \vspace{0.3em}
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.5\textwidth]{figures/volumeBox.pdf} \includegraphics[width=0.5\textwidth,alt={Boxplot of contribution volume}]{figures/volumeBox.pdf}
\caption{Taboo articles receive more contributions than comparable articles.} \caption{Taboo articles receive more contributions than comparable articles.}
\label{fig:volumeBox} \label{fig:volumeBox}
\end{figure} \end{figure}
@@ -367,7 +386,7 @@ To develop a comparison sample, we filtered the population of articles to just t
\vspace{0.3em} \vspace{0.3em}
\begin{figure} \begin{figure}
\centering \centering
\includegraphics[width=0.5\textwidth]{figures/boxQualitySrc.pdf} \includegraphics[width=0.5\textwidth,alt={Boxplot of article quality}]{figures/boxQualitySrc.pdf}
\caption{Articles about taboo subjects exceed the quality of our comparison set.} \caption{Articles about taboo subjects exceed the quality of our comparison set.}
\label{fig:ageGrowth} \label{fig:ageGrowth}
\end{figure} \end{figure}
@@ -382,7 +401,7 @@ To develop a comparison sample, we filtered the population of articles to just t
\vspace{0.3em} \vspace{0.3em}
\begin{center} \begin{center}
\begin{figure} \begin{figure}
\includegraphics[width=0.5\textwidth]{figures/damageRate.pdf} \includegraphics[width=0.5\textwidth,alt={Plot of damage rates by article category}]{figures/damageRate.pdf}
\caption{The rate of damaging contributions to taboo subjects is higher.} \caption{The rate of damaging contributions to taboo subjects is higher.}
\end{figure} \end{figure}
\end{center} \end{center}
@@ -396,12 +415,12 @@ Editors of taboo subjects are less likely to use an account, have less experienc
\begin{figure} \begin{figure}
%\begin{minipage}{0.45\textwidth} %\begin{minipage}{0.45\textwidth}
\includegraphics[width=.45\textwidth]{figures/mailProp.pdf} \includegraphics[width=.45\textwidth,alt={Proportion of contributors who disclose an email address}]{figures/mailProp.pdf}
\end{figure} \end{figure}
%\end{minipage}\hfill %\end{minipage}\hfill
%\begin{minipage}{0.45\textwidth} %\begin{minipage}{0.45\textwidth}
\begin{figure} \begin{figure}
\includegraphics[width=.45\textwidth]{figures/genderProp.pdf} \includegraphics[width=.45\textwidth,alt={Proportion of contributors who disclose gender}]{figures/genderProp.pdf}
%\end{minipage}\hfill %\end{minipage}\hfill
\end{figure} \end{figure}

22
rename_tex_to_dirname Executable file
View File

@@ -0,0 +1,22 @@
#!/bin/bash
set -e
TARGET="$(basename "$(pwd)").tex"
if [ -e "$TARGET" ]; then
echo "error: '$TARGET' already exists"
exit 1
fi
files=(*.tex)
if [ "${files[0]}" = "*.tex" ]; then
echo "error: no .tex files found"
exit 1
fi
if [ "${#files[@]}" -gt 1 ]; then
echo "error: multiple .tex files found: ${files[*]}"
exit 1
fi
mv "${files[0]}" "$TARGET"