master
The template declared pdfstandard=ua-2 and loaded tagpdf with
\tagpdfsetup{activate-all}, which sets /Marked true and writes the
conformance claim but does not turn on the kernel code that tags
document structure. The result passed veraPDF's ua2 profile while its
structure tree held nothing but /Document: every paragraph of the
letter was marked as an artifact, so the checker had no untagged real
content to complain about, and both alt= descriptions were dropped on
the floor.
That is a worse failure than an outright invalid file. A letter that
announces itself as accessible and contains nothing readable is the
one a person relying on a screen reader will trust.
Adding tagging=on fixes it: the built letter now carries twenty tagged
paragraphs and a Figure element holding the signature's alt text, and
still passes ua2. The manual tagpdf lines are dropped since the kernel
loads it.
This requires TeX Live 2025 or later; on TeX Live 2024 the key is
unknown and the build stops. The README gains that requirement, an
Accessibility section, and a warning that a veraPDF pass is necessary
but not sufficient.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
================================
=== UW LaTeX Letterhead ========
================================
Copyright (c) 2018-2026 Benjamin Mako Hill <mako@atdot.cc> / <makohill@uw.edu>
Copyright (c) 2017 Sayamindu Dasgupta <sdg1@uw.edu>
This is a LaTeX version of the University of Washington "matrix"
stationery or letterhead.
It uses the fonts provided by the UW website (Matrix II and OpenSans)
and attempts to be pica-for-pica identical to the stationery template
distributed as a Microsoft Word "DOCX" file by UW Brand and Creative
Services.
Requirements
=============
Because this document uses OpenType and TrueType fonts and produces
tagged, accessible PDF/UA-2 output, it requires LuaLaTeX rather than
standard LaTeX. It is supported by Overleaf (https://overleaf.com/)
although it is not the default. More details on LuaTeX are available
here: https://www.luatex.org/
On Debian or Ubuntu, install the following packages:
* latexmk
* texlive-luatex
* texlive-latex-recommended
* texlive-latex-extra
apt install latexmk texlive-luatex texlive-latex-recommended \
texlive-latex-extra
On other systems, installing a full TeX Live distribution should
provide everything needed.
TeX Live 2025 or later is required. The tagging code is not in TeX
Live 2024, where the build stops with "the key
'document/metadata/tagging' is unknown". Debian trixie ships TeX Live
2024. On Overleaf, set the version under Menu > Settings > TeX Live
version; it is not always high enough by default on an older project.
The two required fonts Matrix-II and OpenSans are both included in
this repository, so no additional font packages are needed.
Accessibility
=============
The letter is a tagged PDF declaring PDF/UA-2 (ISO 14289-2). Two keys
in the \DocumentMetadata block at the top of the .tex file do this,
and both are needed: tagging=on loads the kernel code that puts the
text into the PDF's structure tree, and pdfstandard=ua-2 writes the
conformance claim. The claim without the tagging produces a letter
that passes a conformance checker while containing nothing a screen
reader can read, so keep them together.
Check a built letter with veraPDF (https://verapdf.org/, not packaged
in Debian):
verapdf -f ua2 washington_letterhead_letter-matrix-deptartment.pdf
Note that a PASS is necessary but not sufficient. A letter whose body
text is all marked as artifact passes too, because the standard only
requires that content which is not real be an artifact. Confirm there
is something in the structure tree as well:
python3 -c "import pikepdf,sys; d=pikepdf.open(sys.argv[1]); \
print(d.Root.get('/StructTreeRoot') and 'tagged' or 'UNTAGGED')" file.pdf
The signature image carries an alt= description, which is what a
screen reader announces in place of it. Keep that in place if you
swap in your own signature. The letterhead graphic in the page header
is treated as an artifact, like other running header content, so it
is skipped rather than described.
Encrypted signature files
===========================
If you'd like, you can encrypt the signature file. There are several
lines in the Makefile you can uncomment to do this. We've included an
optional encrypted copy of the fake signature file. To use it, the
passphrase is "weakpassword" (without quotes). You will want to
customize this. To use this, you will also need GNU Privacy Guard
(GPG) installed on your system.
Scripts
========
new_tex_uwletter
-----------------
Creates a new letter directory from the template. Takes a destination
directory as its argument:
new_tex_uwletter <directory>
Example:
new_tex_uwletter my-letter
This creates my-letter/ populated with the template files, with the
main source file renamed to my-letter.tex. Fonts are symlinked from
the source repository rather than copied, so the repository must
remain in place.
Symlink the script into your PATH with:
ln -s ~/tex/uw_tex_letterhead/new_tex_uwletter ~/bin/
Contributing changes
=======================
If you notice issues with this template, please fix them and
contribute back a patch so others can benefit!
The latest version can be found at:
https://gitea.communitydata.science/mako/uw_tex_letterhead
You can clone the repository with:
git clone https://gitea.communitydata.science/mako/uw_tex_letterhead.git
Patches can be submitted by email to Benjamin Mako Hill:
Benjamin Mako Hill <makohill@uw.edu> [work]
Benjamin Mako Hill <mako@atdot.cc> [personal]
git format-patch origin/master
git send-email *.patch
Copyright and Usage
=====================
This template was modeled after the Microsoft Word "Matrix" stationery
template published by UW Brand and Creative Services here:
https://www.washington.edu/brand/templates/stationery/
It is hopefully obvious that there are many ethical and legal
restrictions on when one can and cannot (and should or shouldn't) use
official university letterhead (e.g., it should only be used for
official communication). If you have any questions, contact UW Brand
and Creative Services at the link above.
This TeX template itself was created by Benjamin Mako Hill and
Sayamindu Dasgupta. We dedicated the work to the public domain by waiving all of our
rights to the work worldwide under copyright law, including all
related and neighboring rights, to the extent allowed by law. You can
copy, modify, distribute and perform the work, even for commercial
purposes, all without asking permission.
See details here: https://creativecommons.org/publicdomain/zero/1.0/
As a result, if you completely remove the UW branding, there are no
restrictions on how you can use the work in this repository.
Description
Languages
TeX
89.6%
Shell
6.7%
Makefile
3.7%