texlive[74857] Master/texmf-dist: ucph-revy (5apr25)

commits+karl at tug.org commits+karl at tug.org
Sat Apr 5 21:55:04 CEST 2025


Revision: 74857
          https://tug.org/svn/texlive?view=revision&revision=74857
Author:   karl
Date:     2025-04-05 21:55:04 +0200 (Sat, 05 Apr 2025)
Log Message:
-----------
ucph-revy (5apr25)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/ucph-revy/Eksempel.tex
    trunk/Master/texmf-dist/doc/latex/ucph-revy/README.md
    trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-da-doc.pdf
    trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-da-man.pdf
    trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-en-doc.pdf
    trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-en-man.pdf
    trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy.bib
    trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.dtx
    trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.ins
    trunk/Master/texmf-dist/tex/latex/ucph-revy/ucph-revy.cls

Added Paths:
-----------
    trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy-en-ex.ins

Modified: trunk/Master/texmf-dist/doc/latex/ucph-revy/Eksempel.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ucph-revy/Eksempel.tex	2025-04-05 19:54:41 UTC (rev 74856)
+++ trunk/Master/texmf-dist/doc/latex/ucph-revy/Eksempel.tex	2025-04-05 19:55:04 UTC (rev 74857)
@@ -46,7 +46,11 @@
   \role{I} Vred instruktør
   \role{A9}[A--ni] Anine
 \end{roles}
-%% props-miljøet kan fjernes, hvis der ikke er brug for det
+%% instructors- og props-miljøet kan fjernes, hvis der ikke er brug
+%% for det
+\begin{instructors}
+  \instructor[Instruktør] Raben
+\end{instructors}
 \begin{props}
   \prop{Hedegaard--hår}[Person, der skaffer]
   \prop{Didgeridoo}[Anine]

Modified: trunk/Master/texmf-dist/doc/latex/ucph-revy/README.md
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ucph-revy/README.md	2025-04-05 19:54:41 UTC (rev 74856)
+++ trunk/Master/texmf-dist/doc/latex/ucph-revy/README.md	2025-04-05 19:55:04 UTC (rev 74857)
@@ -1,6 +1,6 @@
 Package ucph-revy
 =================
-v1.1.0
+v1.2.0
 
 A class for typesetting scripts, containing both lyrics and prose, in
 the style used by the student revues (revy) at the Faculties of

Modified: trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-da-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-da-man.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-en-doc.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy-en-man.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy.bib
===================================================================
--- trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy.bib	2025-04-05 19:54:41 UTC (rev 74856)
+++ trunk/Master/texmf-dist/doc/latex/ucph-revy/ucph-revy.bib	2025-04-05 19:55:04 UTC (rev 74857)
@@ -24,4 +24,10 @@
   author =       {Overleaf},
   title =        {Understanding packages and class files},
   howpublished = {\url{https://www.overleaf.com/learn/latex/Understanding_packages_and_class_files}}}
-
+ at Misc{fysikrevytex,
+  author =       {Peter Müller and Kristoffer Stensbo-Smidt and Troels Henriksen and Sebastian Paaske Tørholm and Sarah Brofeldt and Anders Komár Ravn and Hansen, Kristoffer Levin and Asbjørn Preuss and Mikkel Noer},
+  title =        {Fysik{R}evy{\TeX}},
+  publisher =    {GitHub},
+  year =         {2025},
+  howpublished = {\url{https://github.com/FysikRevy/FysikRevyTeX}}
+  }
\ No newline at end of file

Added: trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy-en-ex.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy-en-ex.ins	                        (rev 0)
+++ trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy-en-ex.ins	2025-04-05 19:55:04 UTC (rev 74857)
@@ -0,0 +1,34 @@
+%%
+%% Copyright (C) 2023 Kristoffer Levin Hansen
+%%
+%% This file may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either
+%% version 1.3 of this license or (at your option) any later
+%% version. The latest version of this license is in:
+%%
+%% http://www.latex-project.org/lppl.txt
+%%
+%% and version 1.3 or later is part of all distributions of
+%% LaTeX version 2005/12/01 or later.
+%%
+\input docstrip.tex
+\keepsilent
+\usedir{tex/latex/ucph-revy}
+\askforoverwritefalse
+\preamble
+  
+See the generating file for its conditions on distribution and reuse.
+
+Also, for this file by itself, to the extent possible under law,
+Kristoffer Levin Hansen has waived all copyright and related or
+neighboring rights to Example.tex. This work is published from:
+Denmark.
+
+http://creativecommons.org/publicdomain/zero/1.0/
+
+Note that this file probably contains text, characters and situations
+covered by copyright beloninging to other entities.
+
+\endpreamble  
+\generate{\file{Example.tex}{\from{ucph-revy.dtx}{ex-en}}}
+\endbatchfile

Modified: trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.dtx	2025-04-05 19:54:41 UTC (rev 74856)
+++ trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.dtx	2025-04-05 19:55:04 UTC (rev 74857)
@@ -2,7 +2,7 @@
 %
 % Copyright (C) 1995 Arne John Glenstrup
 %               2000 Uffe Friis Lichtenberg
-%               2024 Kristoffer Levin Hansen
+%               2025 Kristoffer Levin Hansen
 %
 % This file may be distributed and/or modified under the
 % conditions of the LaTeX Project Public License, either
@@ -20,7 +20,7 @@
 %<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
 %<class>\ProvidesClass{ucph-revy}
 %<*class>
-    [2024/12/18 v1.1.0  A class for making musical manuscripts]
+    [2025/03/26 v1.2.0  A class for making musical manuscripts]
 %</class>
 %<*driver>
 \documentclass[a4paper]{ltxdoc}
@@ -274,7 +274,7 @@
 %
 %   Vi har også lavet en programpakke, som står for at lave et samlet
 %   \TeX hæfte ud af en samling af \texttt{.tex}--filer (som bruger
-%   den her dokumentklasse). Den er sidst set på adressen
+%   den her dokumentklasse). Den er sidst set i \cite{fysikrevytex}.
 % \end{danish}
 % \begin{english}
 %   \section{Introduction}
@@ -298,14 +298,13 @@
 %   larger piece, which are intended to be typeset along with the
 %   title.
 %
-%   Figure \ref{eksempel} shown an example of how all this looks when
+%   Figure \ref{eksempel} shows an example of how all this looks when
 %   typeset.
 %
 %   If you're looking for the script package that's designed to help
 %   with typesetting and compositing a full manuscript, it was last
-%   seen at
+%   seen in \cite{fysikrevytex}.
 % \end{english}^^A
-% \url{https://github.com/fysikrevy/fysikrevytex}.
 %
 % \begin{danish}^^A
 %   Ifølge \texttt{revy.sty} var de originale forfattere
@@ -512,7 +511,13 @@
 % 
 % \begin{danish}
 %   \subsection{Registermærkninger}\label{thumbindex}
+% \end{danish}
+% \begin{english}
+%   \subsection{Thumb index}\label{thumbindex}
+% \end{english}
 %
+% \begin{macro}{thumbindex}
+% \begin{danish}
 %   \changes{v1.0.0}{2023/09/05}{Nyt maskineri til registermærkninger}
 %   Kasserne i kanten af siderne i figur \ref{eksempel} er
 %   registermærkninger. De er tænkt som en hjælp med at finde rundt i
@@ -519,12 +524,9 @@
 %   manuskripter, når de bliver sat sammen af flere enkelte numre, som
 %   hver især bruger \cn. De giver kun mening at bruge i dokumenter
 %   som er en del af en større samling, så for at sætte dem skal
-%   klassen gives
-%   valgmuligheden \DescribeMacro{thumbindex}\verb|thumbindex|.
+%   klassen gives valgmuligheden \verb|thumbindex|.
 % \end{danish}
 % \begin{english}
-%   \subsection{Thumb index}\label{thumbindex}
-%
 %   \changes{v1.0.0}{2023/09/05}{New machinery for thumb indexes}
 %   To help organizing a compiled manuscript, which might consist of a
 %   collection of many \texttt{.tex} files, we profide a facility for
@@ -532,8 +534,14 @@
 %   black boxes on the edge of the pages in figure \ref{eksempel}. It
 %   is off by default, since it only really makes sense in a
 %   compilation of documents, but is enabled by giving the
-%   option \DescribeMacro{thumbindex}\verb|thumbindex| to the class.
+%   option \verb|thumbindex| to the class.
 % \end{english}
+%   \begin{danish}
+%     \changes{v1.2.0}{2025/03/20}{Håndtér kommentarer i planfil}
+%   \end{danish}
+%   \begin{english}
+%     \changes{v1.2.0}{2025/03/20}{Handle comments in planfile}
+%   \end{english}
 %
 % \begin{implementation}
 %   \begin{danish}
@@ -541,6 +549,12 @@
 %         defineret på side \pageref{loadclass}, og fortæller bare, om
 %         \verb|thumbindex| er blevet valgt. Hvis den ikke er, så
 %         springer vi al koden i det her afsnit over.
+%
+%         Vi bruger \verb|\@firstofone| og \verb|\@gobble| for at
+%         undgå at pakke hele kodeblokken ind i en \verb|\if|, og så
+%           få problemer med \verb|\if|'er inden i
+%             hinanden\footnote{Dem får vi nok af fra den måde, koden
+%             til dokumentationen er struktureret...}.
 %   \end{danish}
 %   \begin{english}
 %     \verb|\if at thumbindex|\DescribeMacro{\if at thumbindex}\ was defined
@@ -547,9 +561,52 @@
 %         on page \pageref{loadclass}, and just tells us if the option
 %         \verb|thumbindex| was given. If it wasn't, well just skip
 %         all the code in this section.
+%
+%         We'll use \verb|\@firstofone| and \verb|\@gobble| to achieve
+%         this, so that we can avoid wrapping the section in a long
+%         \verb|\if|, and dealing with potential problems from nested
+%           \verb|\if|s\footnote{We get plenty of that from how the
+%             code for the documentation is structured...}.
 %   \end{english}
 %    \begin{macrocode}
 \if at thumbindex
+%    \end{macrocode}
+% \begin{macro}{\revy at readwithhash,\octothorpe}
+%   \begin{danish}
+%     Som vi kommer til at se senere, så kan planfilen risikrere at
+%     indeholde \verb|#|'er, som vi skal genkende som
+%     kommentarer. Derfor skal vi bruge en måde at læse ind fra
+%     planfilen, som ikke giver \verb|#| sin sædvanlige catcode, og
+%     noget at sammenligne med.
+%     
+%     De bliver nødt til at bo her, og ikke inde i argumentet til
+%     \verb|\@firstofone|, pga. noget med rækkefølgen af
+%     bogstavskodning of tokenisering\footnote{Detaljerne efterlades
+%     som en øvelse til læseren.}.
+%   \end{danish}
+%   \begin{english}
+%     As we shall see, the planfile might contain \verb|#|s, which we
+%     must be able to recognize as comments. To do that, we need a way
+%     to read them in without their usual catcode, and something to
+%     compare with.
+%     
+%     They have to live here, and not inside the argument to
+%     \verb|\@firstofone| due to something with the order of character
+%     encoding and tokenization\footnote{The details are left as an
+%     exercise for the reader.}.
+%   \end{english}
+%    \begin{macrocode}
+  \def\revy at readwithhash{
+    \catcode`\#=11
+    \read\planread to \line
+    \catcode`\#=6
+  }
+  \catcode`\#=11
+  \edef\octothorpe{#}
+  \catcode`\#=6
+%    \end{macrocode}
+% \end{macro}
+%    \begin{macrocode}
   \expandafter\@firstofone
 \else
   \expandafter\@gobble
@@ -556,9 +613,9 @@
 \fi{
 %    \end{macrocode}
 % \end{implementation}
-% \label{begintabdefgroup}
 % 
 % \begin{danish}
+%   \changes{v1.2.0}{2025/03/26}{Kalder ikke længere {\sffamily fontenc}}
 %   \cn\ får at vide hvilke numre, som er med i et manuskript, fra en
 %   ekstern tekstfil, som vi som standard går ud fra hedder
 %   \texttt{aktoversigt.plan}, og ligger i samme mappe som
@@ -570,6 +627,7 @@
 %   kaldes således:
 % \end{danish}
 % \begin{english}^^A
+%   \changes{v1.2.0}{2025/03/26}{No longer calls {\sffamily fontenc}}
 %   The structure of the consolidated manuscript is
 %   defined in a seperate text file, which contains the filenames of
 %   the \texttt{.tex} files that make up the manuscript, and divide
@@ -584,9 +642,12 @@
 % \begin{verbatim}
 %\documentclass[thumbindex,planfile=../plan.txt]{ucph-revy}
 %   \end{verbatim}
+% 
 % \begin{danish}
 %   Et eksempel på en sådan planfil kunne være:
 % \begin{verbatim}
+% # Den bedste FysikRevy™ siden Jordens undergang
+%
 % Akt 1
 % sange/introsang.tex
 % sketches/Eksempel.tex
@@ -599,11 +660,243 @@
 % Ekstranumre
 % sange/under_bæltestedet.tex
 % \end{verbatim}
+%   Her behandler vi linjer, der stater med \verb|#| som kommentarer,
+%   og ignorerer dem. Tomme linjer bliver også ignoreret. Linjer, der
+%   ender på \verb|.tex| tages som navne på filer i registeret, som
+%   bliver behandlet videre. Andre linjer antages at være
+%   aktoverskrifter.
+%
+%   \changes{v1.2.0}{2024/03/22}{Håndter stub punkter planfilen.}
+%   Det er også muligt at angive et udvalg af info--makroerne, som
+%   bliver detaljeret i afsnit \ref{info} på en enkelt linje, som en
+%   stub. En sådan har betydning for {\sffamily
+%   FysikRevy\TeX}\cite{fysikrevytex}, men bliver bare ignoreret her i
+%   \cn.
+% \end{danish}
+%
+% \begin{english}
+%   An example of such a plan file might be:
+% \begin{verbatim}
+% # The greatest show, possibly
+%
+% Act 1
+% songs/opener.tex
+% sketches/Example.tex
+% sketches/anarchocommunist_commune.tex
+%
+% Act 2
+% songs/glitzy_dance_act.tex
+% sketches/crossdressing.tex
+%
+% Act 3
+% sketches/stop_police.tex
+% \end{verbatim}
+%   Lines that start with \verb|#| are treated as comments and
+%   ignored. Empty lines are also ignored. Lines that end in
+%   \verb|.tex| are taken as entries in the thumb index and processed
+%   further. Any other lines are treated as act titles.
+%
+%   \changes{v1.2.0}{2024/03/22}{ Handle stub  entries in planfile. }
+%   It is also possible to issue a subset of the info--macros detailed
+%   in section \ref{info} on a line to create a stub entry. They are
+%   meaningful to {\sffamily FysikRevyTeX}\cite{fysikrevytex}, but
+%   \cn\ will simply ignore them.
+% \end{english}
+% 
+% \begin{macro}{\planfileAllowedMacros}
+%   \begin{danish}
+%     De tilladte info--makroer opbevares i toks'en
+%     \verb|\planfileAllowedMacros|, der som standard indeholder
+%   \end{danish}\begin{english}
+%     The allowed info--macros are contained in the toks
+%     \verb|\planfileAllowedMacros|, which by default
+%     contains\end{english} \verb|\title|, \verb|\eta|, \verb|\status|,
+%   \verb|\melody|, \verb|\revyname|,
+%   \verb|\revyyear|\begin{danish} og\end{danish}\begin{english} and\end{english}
+%   \verb|\category|
+%   \begin{danish}(der ikke er en af dem fra afsnit \ref{info}).
+%   \end{danish}\begin{english}(which is in addition to the macros in section
+%     \ref{info}).
+%   \end{english}
+%   \begin{implementation}
+%    \begin{macrocode}
+  \newtoks\planfileAllowedMacros
+  \planfileAllowedMacros={
+    \title\eta\status\melody\revyname\revyyear\category
+  }
+%    \end{macrocode}
+%   \end{implementation}
+% \end{macro}
+%
+% \begin{macro}{\planfileAllowMacros}
+%   \begin{danish}
+%     \changes{v1.2.0}{2025/03/26}{Gør tilpasning af stub--kommandoer
+%     nemmere.}
+%     Yderligere makroer kan tilføjes til den her liste med
+%     \verb|\planfileAllowMacros|. Den kan gives flere makroer i samme
+%     argument, som fx:
+%   \end{danish}
+%   \begin{english}
+%     \changes{v1.2.0}{2025/03/26}{Aid customization of stub commands.}
+%     Further macros can be added to the list with
+%     \verb|\planfileAllowMacros|. It takes one or more macros as its
+%     argument, eg:
+%   \end{english}
+%   \begin{verbatim}
+% \planfileAllowMacros{ \author \responsible }
+%   \end{verbatim}
+%   \begin{implementation}
+%    \begin{macrocode}
+  \def\planfileAllowMacros#1{
+    \toks256={#1}
+    \edef\act{
+      \noexpand\planfileAllowedMacros={
+        \the\planfileAllowedMacros \the\toks256
+      }
+    }
+    \act
+  }
+%    \end{macrocode}
+%   \end{implementation}
+% \end{macro}
+%
+%\begin{implementation}
+%\begin{macro}{\revy at tabs}
+% \begin{danish}
+%   \changes{v1.2.0}{2025/03/26}{Flyt indlæsning af planfil til første
+%   gang en registermærkning bliver sat}
+%   Koden, som læser og forstår planfilen og de andre
+%   \verb|.tex|--filer bor i den her makro. Den kommer til at blive
+%   kaldt midt i dokument--flowet, så vi er nødt til at være
+%   forsigtige med at afslutte linjer, som ellers kunne lave ekstra
+%   mellemrum, med \verb|%|.
+% \end{danish}
+% \begin{english}
+%   \changes{v1.2.0}{2025/03/26}{Move parsing of planfile to the first
+%   time a thumb mark is typeset.}
+%   The code that reads and comprehends the plan file and the listed
+%   \texttt{.tex} files lives inside this macro. It will be called in
+%   the middle of the document flow, so care must be taken to end
+%   lines, that could otherwise create extra spaces, with a \verb|%|.
+% \end{english}
+%    \begin{macrocode}
+  \def\revy at tabs{%
+    \begingroup
+%    \end{macrocode}
+% \begin{macro}{\stubCommand,\markStubCommands,\swap,\skipFiFi,\nothing}
+%   \begin{danish}
+%     Helt konkret, så så når vi hen til at kunne ignorere makroerne i
+%     \verb|\planfileAllowedMacros| ved at sætte dem alle sammen til at
+%     være en makro, vi kan genkende.
+%   \end{danish}
+%   \begin{english}
+%     We will enable ourselves to skip the macros in
+%     \verb|\planfileAllowedMacros| by setting each of them equal to
+%     a recognizable macro.
+%   \end{english}
+%    \begin{macrocode}
+      \def\stubCommand{}%
+%    \end{macrocode}
+%    \begin{macrocode}
+      \def\swap##1##2{##2##1}%
+      \def\skipFiFi##1\nothing{\fi\fi}%
+      \let\nothing=\relax
+%    \end{macrocode}
+%    \begin{macrocode}
+      \def\markStubCommands##1{%
+        \ifx\@undefined##1 \else
+          \ifx\relax##1%
+            \skipFiFi
+          \fi
+        \fi
+        \let##1=\stubCommand
+        \swap\markStubCommands\nothing
+      }
+      \edef\act{\noexpand\markStubCommands\the\planfileAllowedMacros\relax}%
+      \act
+%    \end{macrocode}
+%   \begin{danish}
+%     Konstruktionen, hvor \verb|\act| bliver defineret, og
+%     så kaldt med det samme, er for at styre, hvor dybt \TeX\ udvider
+%     vores makroer\cite{eijkhout:toksstack}.
+%   \end{danish}
+%   \begin{english}
+%     The construction where \verb|\act| is defined, and then
+%     immediately called, controls how deeply \TeX\ will expand our
+%     macros\cite{eijkhout:toksstack}.
+%   \end{english}
+% \end{macro}
+% \begin{macro}{\findStubCommands,\ifstub}
+%     \begin{danish}
+%       Vi skal så kunne genkende den makro senere.
+%     \end{danish}
+%     \begin{english}
+%       We then need to be able to recognize that macro later.
+%     \end{english}
+%    \begin{macrocode}
+      \newif\ifstub \stubfalse
+      \def\findStubCommands##1{%
+        \ifx\stubCommand##1%
+          \stubtrue
+        \fi
+        \ifx\relax##1 \else
+          \expandafter\findStubCommands
+        \fi
+      }%
+%    \end{macrocode}
+% \end{macro}
+% \begin{macro}{\expandFiHere}
+%   \begin{danish}
+%     Vi får brug for den her makro, som du måske genkender som
+%     \verb|\hop|, hvis du har læst \cite{eijkhout:hop}.
+%   \end{danish}
+%   \begin{english}
+%     We shall need this macro, which you may reckognize as
+%     \verb|\hop| if you've read \cite{eijkhout:hop}.
+%   \end{english}
+%    \begin{macrocode}
+      \def\expandFiHere##1\fi{\fi ##1}%
+%    \end{macrocode}
+% \end{macro}
+%   \begin{danish}
+%     Vi får brug for at vide planfilens sti
+%   \end{danish}
+%   \begin{english}
+%     We will need to know the path of the plan file
+%   \end{english}
+%    \begin{macrocode}
+      \def\patheat##1/##2{%
+        \ifx\relax##2\else
+          \expandFiHere##1/\patheat##2%
+        \fi
+      }%
+      \edef\planpath{\expandafter\patheat\planfile/\relax}%
+%    \end{macrocode}
+% \end{macro}
+% \end{implementation}
+%
+% \begin{danish}
 %   Mappenavnene (\texttt{sange}, \texttt{sketches}) er ikke
-%   nødvendige for at registermærkningerne kan fungere, de er bare et
-%   eksempel. \texttt{.tex}--filerne kan placeres hvor som helst,
-%   \TeX\ kan læse fra.
-%   
+%   nødvendige for at registermærkningerne kan fungere, men de har
+%   betydning for {\sffamily FysikRevy\TeX}
+%   \cite{fysikrevytex}. \texttt{.tex}--filerne kan placeres hvor som
+%   helst, \TeX\ kan læse fra.
+% \end{danish}
+% \begin{english}
+%   Note that the folder names (\texttt{songs}, \texttt{sketches})
+%   carry significance for {\sffamily FysikRevy\TeX}
+%   \cite{fysikrevytex}, but not for \cn. The \texttt{.tex} files can
+%   be placed at any location that \TeX\ can read.
+% \end{english}
+%
+% \begin{implementation}
+%    \begin{macrocode}
+      \newread\planread
+      \openin\planread=\planfile
+%    \end{macrocode}
+% \end{implementation}
+%
+% \begin{danish}
 %   Ud fra sådan en planfil kan klassen generere et
 %   register\textbf{indeks} som ligner det i figur \ref{registerex},
 %   eller register\textbf{mærkninger} som dem i figur
@@ -629,37 +922,9 @@
 %   oplistet i planfilen, og sammenligner indholdet af deres
 %   \verb|\title|--makroer med den seneste \verb|\title|, som \TeX\
 %   har set.
-%
-%   Derfor er det nødvendigt, for at \cn\ kan sætte registermærkerne,
-%   at der er angivet en \verb|\title|. Det er altid den sidste
-%   \verb|\title| i en fil, som \cn\ sammenligner med den
-%   \verb|\title|, som \TeX\ kender. Det kan gå galt, hvis der er
-%   flere \verb|\title|'r i en fil.
-%
-%   Hvis der er flere af filerne i planfilen, som har den
-%   \verb|\title| som \cn\ leder efter, vil \cn\ sætte registermærker
-%   for alle de tilsvarende pladser i rækkefølgen.
 % \end{danish}
-%
+% 
 % \begin{english}
-%   An example of such a plan file might be:
-% \begin{verbatim}
-% Act 1
-% songs/opener.tex
-% sketches/Example.tex
-% sketches/anarchocommunist_commune.tex
-%
-% Act 2
-% songs/glitzy_dance_act.tex
-% sketches/crossdressing.tex
-%
-% Act 3
-% sketches/stop_police.tex
-% \end{verbatim}
-%   Note that the folder names (\texttt{songs}, \texttt{sketches}) are
-%   merely for illustration. The \texttt{.tex} files can be placed at any
-%   location that \TeX\ can read.
-%
 %   From this plan file, the class can generate a thumb mark for each
 %   of thsee individual files, as demonstrated in figure
 %   \ref{eksempel}, which shows the location of that file in the
@@ -687,7 +952,21 @@
 %   \emph{which} file it is in by comparing the content of the
 %   \verb|\title| macro in the files in the plan file with the title
 %   that \TeX\ knows about in the current file.
+% \end{english}
 %
+% \begin{danish}
+%   Derfor er det nødvendigt, for at \cn\ kan sætte registermærkerne,
+%   at der er angivet en \verb|\title|. Det er altid den sidste
+%   \verb|\title| i en fil, som \cn\ sammenligner med den
+%   \verb|\title|, som \TeX\ kender. Det kan gå galt, hvis der er
+%   flere \verb|\title|'r i en fil.
+%
+%   Hvis der er flere af filerne i planfilen, som har den
+%   \verb|\title| som \cn\ leder efter, vil \cn\ sætte registermærker
+%   for alle de tilsvarende pladser i rækkefølgen.
+% \end{danish}
+%
+% \begin{english}
 %   Therefore, it is necessary for the thumb index to work that a
 %   \verb|\title| is declared in each of the files that are listed in
 %   the plan file.
@@ -699,35 +978,59 @@
 % \end{english}
 %
 % \begin{implementation}
+% \begin{macro}{\revy at tabs,\skipopt,\titleeater}
 %   \begin{danish}
-%     For at sammenligningen kan fungere, er vi afhængige af, at
-%     tekstrepræsentationen ikke skifter undervejs. Det kan ske, hvis
-%     \verb|.tex|--filen kalder
-%     \DescribeMacro{fontenc}\textsf{fontenc}, og titlerne indeholder
-%     specialtegn. Den simple og effektive\footnote{Læs: det er et
-%     hack, som ikke har givet mig problemer \emph{endnu}.}  løsning
-%     er bare at kalde \textsf{fontenc} selv, så der ikke er plads til
-%     misforståelser.
+%     \changes{v1.2.0}{2025/03/19}{Håndtér valgfi korte titler i
+%     manuskriptfiler}
+%     I registermærkningens verden sorterer vi bare de valgfri korte
+%     titler (se s. \pageref{shorttitle}) fra, når vi leder efter
+%     \verb|\title| definitioner. Til det bruger vi følgende makroer:
 %   \end{danish}
 %   \begin{english}
-%     For this comparing of titles to work, we depend of the text
-%     representation not changing between the \verb|\title|
-%     declaration and the time when the thumb index routine runs. It
-%     might, though, if \DescribeMacro{fontenc}\textsf{fontenc} is
-%     called. To quickly knock that problem on the head,\footnote{In a
-%     way that hasn't come back to bite \emph{me} yet.} we'll just
-%     call \textsf{fontenc} ourselves.
+%     \changes{v1.2.0}{2025/03/19}{Handle optional short titles in
+%     manuscript files}
+%     In the world of thumbtabs, we will simply filter out the
+%     optional short titles (see p. \pageref{shorttitle}) while we're
+%     searching for \verb|\title| definitions. The macros for this
+%     purpose are:
 %   \end{english}
 %    \begin{macrocode}
-  \RequirePackage[OT1]{fontenc}
+                                %[
+      \def\skipopt##1]##2{\titleeater{##2}}%
+      \def\titleeater##1##2\title##3{%
+        \ifx\done##3%
+          ##1%
+        \else
+          \ifx##3[%               ]
+            \expandFiHere\expandFiHere\skipopt
+          \else
+            \expandFiHere\expandFiHere\titleeater{##3}%
+          \fi
+        \fi
+      }%
 %    \end{macrocode}
+% \end{macro}
+%
+% \begin{danish}
+%   For at forsøge at afværge problemer, der kan opstå, hvis der er
+%   linjeskift midt i en \verb|\title| i den eksterne fil, slår vi
+%   \TeX 's interne håndtering af linjeskift fra
+% \end{danish}
+% \begin{english}
+%   To try and ward off issues caused by newlines inside \verb|\title|
+%   definitions in the external file, we'll disable \TeX s internal
+%   handling of newlines
+% \end{english}
+%    \begin{macrocode}
+      \endlinechar=-1
+%    \end{macrocode}
+%    \begin{macrocode}
+      \newread\tabtex
+%    \end{macrocode}
 % 
 % \begin{danish}
-%   Koden, som læser og forstår planfilen og de andre
-%   \verb|.tex|--filer bor i den her gruppe. I sidste ende kommer vi
-%   til at definere
-%   makroen \DescribeMacro{\revy at tabs}\verb|\revy at tabs|, som burde,
-%   for hver overskrift i planfilen, indeholde sekvensen
+%   I sidste ende kommer \verb|\revy at tabs| til at omdefinere sig selv,
+%   så den burde, for hver overskrift i planfilen, indeholde sekvensen
 %   \begin{showcommand}
 %     \verb|\undertab| \meta{tæller ved start} \verb|\text|
 %     \meta{overskrift} \verb|\stop|,
@@ -742,17 +1045,10 @@
 %     \verb|\undertab| \meta{antal filer} \verb|\text| \verb|\done|
 %     \verb|\stop|.
 %   \end{showcommand}
-%   Undervejs bygger vi de her sekvenser op i en
-%   \verb|toks|. Konstruktionen, hvor \verb|\act| bliver defineret, og
-%   så kaldt med det samme, er for at styre, hvor dybt \TeX\ udvider
-%   vores makroer\cite{eijkhout:toksstack}.
 % \end{danish}
 % \begin{english}
-%   The code that reads and comprehends the plan file and the listed
-%   \texttt{.tex} files lives in this group. The ultimate effect ought
-%   to be defining the
-%   macro \DescribeMacro{\revy at tabs}\verb|\revy at tabs|, which will
-%   contain, for each heading in the plan file, the sequence
+%   Ultimately, \verb|\revy at tabs| ought to redefine itself so that it
+%   will contain, for each heading in the plan file, the sequence
 %   \begin{showcommand}
 %     \verb|\undertab| \meta{counter at start} \verb|\text|
 %     \meta{hading} \verb|\stop|,
@@ -767,188 +1063,215 @@
 %     \verb|\undertab| \meta{no. of files} \verb|\text| \verb|\done|
 %     \verb|\stop|.
 %   \end{showcommand}
-%   As we go, these sequences will be built up in a \verb|toks|. The construction where \verb|\act| is defined, and then immediately called, controls how deeply \TeX\ will expand our macros\cite{eijkhout:toksstack}.
 % \end{english}
+% 
+% \begin{macro}{\tabtoks}
+%   \begin{danish}
+%     Undervejs bygger vi de her sekvenser op i en \verb|toks|.
+%   \end{danish}
+%   \begin{english}
+%     As we go, these sequences will be built up in a \verb|toks|.
+%   \end{english}
 %    \begin{macrocode}
-  \begingroup
+      \newtoks\tabtoks
 %    \end{macrocode}
+% \end{macro}
+% 
+% \begin{macro}{\tabscount}
+%   \begin{danish}
+%     Og vi holder tal på hvor mange mærker, vi skal lave
+%   \end{danish}
+%   \begin{english}
+%     And we'll keep a count of how many tabs to make
+%   \end{english}
 %    \begin{macrocode}
-    \count256=0
-    \endlinechar=-1
-    \newtoks\tabtoks
-    \newread\tabtex
-    \newread\planread
-    \openin\planread=\planfile
+      \newcount\tabscount \tabscount=0
 %    \end{macrocode}
+% \end{macro}
+% 
+% \begin{danish}
+%   Vi \verb|\loop|er nu over hver linje
+%   i \DescribeMacro{\planfile}\verb|\planfile|, og tjekker om der
+%   overhovedet er flere linjer,
+% \end{danish}
+% \begin{english}
+%   We now \verb|\loop| over the lines in \DescribeMacro{\planfile},
+%   and check whether there are any more lines,
+% \end{english}
 %    \begin{macrocode}
-    \def\expandFiHere#1\fi{\fi #1}
+      \loop\ifeof\planread
+        \closein\planread
+        \closein\tabtex
+      \else
 %    \end{macrocode}
+%   \begin{danish}
+%     om vi er midt i at læse en \verb|.tex|--fil,
+%   \end{danish}
+%   \begin{english}
+%     wether we're in the midde of reading a \verb|.tex| file,
+%   \end{english}
 %    \begin{macrocode}
-    \def\patheat#1/#2{%
-      \ifx\relax#2\else
-        \expandFiHere#1/\patheat#2%
-      \fi
-    }
-    \edef\planpath{\expandafter\patheat\planfile/\relax}
+        \ifeof\tabtex
+          \let\readline\empty
+          \revy at readwithhash
 %    \end{macrocode}
+%   \begin{danish}
+%     om vi kigger på en linje med stub--kommandoer (som skal
+%     ignoreres),
+%   \end{danish}
+%   \begin{english}
+%     wether we're looking at a line with stub commands (which should
+%     be ignored),
+%   \end{english}
 %    \begin{macrocode}
-    \def\titleeater#1#2\title#3{%
-      \ifx\done#3%
-        #1%
-      \else
-        \expandFiHere
-        \titleeater{#3}%
-      \fi
-    }
+          \stubfalse
+          \expandafter\findStubCommands\line\relax
+          \ifstub \else
 %    \end{macrocode}
-% \begin{danish}
-%   Her i \verb|\loop|'et tjekker vi først, om vi er færdige med
-%   planfilen (\verb|\repeat| kobler på den \verb|\else|, som hører
-%   til den første \verb|\ifeof|. Hvis den \verb|\ifeof| er sand, så
-%   læser \TeX\ kun den \verb|\fi|, som er gemt inde i
-%   \verb|\repeat|, og kalder ikke den rekursion, som også ligger
-%   derinde. Jeg prøver at forklare det her for mig selv, for jeg
-%   bliver forvirret hver gang jeg vender tilbage til den her
-%   konstruktion.) Så tjekker vi, om der {\em ikke} er en åben fil i
-%   \verb|\tabtex|. Hvis ikke, prøver vi at greje den næste linje i
-%   planfilen. Ellers leder vi efter \verb|\title|--kald i filen i
-%   \verb|\tabtex| (og håber, at det ikke spænder over flere
-%   linjer).
-% \end{danish}
-% \begin{english}
-%   In this loop, we read the plan file plan file line by line. If the
-%   line ends in \texttt{.tex}, we take it as a file name, and open
-%   that file, looking for \verb|\title| commands, which hopefully do
-%   not span across any line breaks.
-% \end{english}
+%   \begin{danish}
+%     om vi kigger på en tom linje (som skal ignoreres),
+%   \end{danish}
+%   \begin{english}
+%     wether we're looking at an empty line (which should be ignored),
+%   \end{english}
 %    \begin{macrocode}
-    \loop\ifeof\planread
-      \closein\planread
-    \else
-      \ifeof\tabtex
-        \let\readline\empty
-        \read\planread to \line
-        \expandafter\ifx\expandafter\par\line\else
-          \IfEndWith{\line}{.tex}{
-            \advance\count256 by 1
+            \IfStrEq{}{\line}{}{%
 %    \end{macrocode}
-% \begin{danish}
-%   \verb|\set at curr@file| tager sig af problemer med catcode'er.
-% \end{danish}
-% \begin{english}
-%   \verb|\set at curr@file| beats down issues with catcodes in
-%   filenames.
-% \end{english}
+%   \begin{danish}
+%     om vi kigger på en kommentar (som skal ignoreres)
+%   \end{danish}
+%   \begin{english}
+%     wether we're looking at a comment (which should be ignored)
+%   \end{english}
 %    \begin{macrocode}
-            \set at curr@file{\line}
-            \openin\tabtex={\planpath\@curr at file}
-          }{%
+              \IfBeginWith{\line}{\octothorpe}{}{%
+%    \end{macrocode}
+%   \begin{danish}
+%     og om linjen slutter på \verb|.tex|. Hvis den gør, må vi have
+%     fundet den næste \verb|.tex|--fil, der skal tjekkes.
+%   \end{danish}
+%   \begin{english}
+%     and wether the line ends in \verb|.tex|. If it does, we must
+%     have found the next \verb|.tex| file to check.
+%   \end{english}
+%    \begin{macrocode}
+                \IfEndWith{\line}{.tex}{%
+                  \advance\tabscount by 1 %
+%    \end{macrocode}
+%   \begin{danish}
+%     \verb|\set at curr@file| tager sig af problemer med catcode'er i
+%     filnavne.
+%   \end{danish}
+%   \begin{english}
+%     \verb|\set at curr@file| beats down issues with catcodes in
+%     filenames.
+%   \end{english}
+%    \begin{macrocode}
+                  \set at curr@file{\line}%
+                  \openin\tabtex={\planpath\@curr at file}%
+                }{%
+%    \end{macrocode}
+%   \begin{danish}
+%     Ellers må vi have fundet en aktoverskrift, og vi gemmer den
+%     tilsvarende sekvens i \DescribeMacro{\tabtoks}\verb|\tabtoks|,
+%     som beskrevet ovenfor.
+%   \end{danish}
+%   \begin{english}
+%     Otherwise, we must have found an act heading, and save the
+%     appropriate sequence in \DescribeMacro{\tabtoks}\verb|\tabtoks|,
+%     as described above.
+%   \end{english}
+%    \begin{macrocode}
+                  \edef\act{\noexpand\tabtoks={%
+                    \the\tabtoks
+                    \noexpand\undertab
+                    \number\tabscount
+                    \noexpand\text
+                    \line
+                    \noexpand\stop
+                  }}\act
+                }%
+              }%
+            }%
+          \fi
+        \else
+%    \end{macrocode}
+%   \begin{danish}
+%     Hvis vi \emph{er} midt i at læse en \verb|.tex|--fil, så
+%     fortsætter vi med det (det her med, at vi skelner mellem hvilken
+%     fil vi er ved at læse med en \verb|\ifeof| betyder, at der ikke
+%       er noget eksplicit indre \verb|\loop|, der læser
+%       \verb|.tex|--filen).
+%   \end{danish}
+%   \begin{english}
+%     If we \emph{are} in the middle of reading a \verb|.tex| file,
+%     we'll continue doing that (this thing, where we choose which
+%     file we're reading with an \verb|\ifeof| means that there is no
+%       explicit inner \verb|\loop| for reading the \verb|.tex|
+%       files).
+%   \end{english}
+%    \begin{macrocode}
+          \read\tabtex to \subline
+          \edef\readline{%
+            \expandafter\titleeater
+            \expandafter\readline\subline\title\done
+          }%
+          \ifeof\tabtex
             \edef\act{\noexpand\tabtoks={%
               \the\tabtoks
-              \noexpand\undertab
-              \number\count256
-              \noexpand\text
-              \line
-              \noexpand\stop
-            }}\act
-          }
-        \fi
-      \else
-        \read\tabtex to \subline
-        \edef\readline{%
-          \expandafter\titleeater
-          \expandafter\readline\subline\title\done
-        }
-        \ifeof\tabtex
-          \edef\act{\noexpand\tabtoks={%
-              \the\tabtoks
               \noexpand\overtab
-              \number\count256
+              \number\tabscount
               \noexpand\text
               \readline
               \noexpand\stop
             }}\act
+          \fi
         \fi
-      \fi
-    \repeat
-    \closein\tabtex
+      \repeat
 %    \end{macrocode}
 %    
 % \begin{danish}
-%   Afslutningssekvensen:
+%   Efter, vi har læst hele planfilen, kan vi gemme den afsluttende
+%   sekvens i \DescribeMacro{\tabtoks}\verb|\tabtoks|, før vi gemmer
+%   hele sekvensen i \verb|\revy at tabs|, hvor den er tilgængelig for
+%   resten af koden i klassen.
 % \end{danish}
 % \begin{english}
-%   The final sequence:
+%   Having read the entire plan file, we can save the final sequence
+%   in \DescribeMacro{\tabtoks}\verb|\tabtoks|, before we save the
+%   entire sequence in \verb|\revy at tabs|, which is where the rest of
+%   the class' code can access it.
 % \end{english}
 %    \begin{macrocode}
-    \edef\act{\noexpand\tabtoks={%
-        \the\tabtoks
-        \noexpand\undertab
-        \number\count256
-        \noexpand\text
-        \noexpand\done
-        \noexpand\stop
-      }}\act
+      \edef\act{\noexpand\tabtoks={%
+          \the\tabtoks
+          \noexpand\undertab
+          \number\tabscount
+          \noexpand\text
+          \noexpand\done
+          \noexpand\stop
+        }}\act
 %    \end{macrocode}
-% \begin{macro}{\revy at tabs}
-% And then, the money shot.
 %    \begin{macrocode}
-    \xdef\revy at tabs{\the\tabtoks}
+      \xdef\revy at tabs{\the\tabtoks}%
+    \endgroup
 %    \end{macrocode}
-% \end{macro}
-%    \begin{macrocode}
-  \endgroup
-%    \end{macrocode}
-% \end{implementation}
-% 
 % \begin{danish}
-%   I eksemplet i appendiks \ref{fullex} er \verb|thumbindex| ikke
-%   taget med, fordi det kun rigtig giver mening at lave
-%   registermærkninger i en samling af manuskripter. Men hvis der
-%   ligger en fil i samme mappe som eksempelfilen, som hedder
-%   \texttt{aktoversigt.plan}, hvor indholdet er eksemplet fra før, og
-%   hvis invokeringen i eksempelfilen skiftes ud med
+%   Nu, hvor vi har givet \verb|\revy at tabs| det ønskede indhold,
+%   kalder vi den som det sidste i den her makro, så det her kald til
+%   \verb|\revy at tabs| giver det samme resultat som alle senere kald.
 % \end{danish}
 % \begin{english}
-%   The thumbindex hasn't been enabled in the example file in appendix
-%   \ref{fullex}, since there's nothing to index. However, if you were
-%   to place the example plan file above in a file along side
-%   \texttt{Example.tex} named \texttt{aktoversigt.plan}, and replace
-%   the class invocation at the top of \texttt{Example.tex} with
+%   Now that \verb|\revy at tabs| has the desired content, we'll call it
+%   as the last step in this macro, so that this call to
+%   \verb|\revy at tabs| yelds the same result as all subsequent calls.
 % \end{english}
-% \begin{verbatim}
-%\documentclass[thumbindex]{ucph-revy}
-% \end{verbatim}
+%    \begin{macrocode}
+    \revy at tabs
+  }
+%    \end{macrocode}
+%    
 % \begin{danish}
-%   så burde \texttt{.tex}--filen kompilere til et resultat, som har
-%   registermærkninger ligesom i eksemplet i figur
-%   \ref{eksempel}. Manglende filer bliver bare ignoreret.
-%
-%   Det lyder måske som en god idé at have en side med et register,
-%   som ligner det i figur \ref{registerex}, men som passer i
-%   størrelsen til de mærkninger, som bliver sat i den enkelte
-%   manuskriptfil. Et eksempel på hvordan man kunne lave en side med
-%   sådan et registerindeks findes i appendiks
-%   \ref{registerindeks}. Hvis du har adgang til klassens kildefiler
-%   kan du også trække den kode ud i filen \texttt{Thumbindex.tex},
-%   ved at køre filen \texttt{upch-revy-ex-thumb.ins} igennem \LaTeX.
-% \end{danish}
-% \begin{english}
-%   then the typeset result should have a thumb marking like the one
-%   in figure \ref{example}. Nonexistent files are simply ignored when
-%   constructing the thumb index.
-%
-%   You might also like to have a page with an index of the thumb
-%   markings, something similar to figure \ref{thumbindexex}, but
-%   scaled to a full page. Appendix \ref{registerindeks} hold a
-%   complete example of one way to make a page like that. If you have
-%   access to the package's source files, you can also extract that
-%   code as the file \texttt{Thumbindex.tex}, by running the file
-%   \texttt{ucph-revy-ex-thumb.ins} through \LaTeX.
-% \end{english}
-% 
-% \begin{implementation}
-% \begin{danish}
 %   \textsf{Ti{\em k}Z} er ikke et tegneprogram\cite{tikz}, men vi
 %   bruger den alligevel til at tegne registermærkningerne.
 % \end{danish}
@@ -1006,15 +1329,13 @@
 %    \end{macrocode}
 % \begin{macro}{\expandFiHere}
 %   \begin{danish}
-%     Du genkender måske den her som \verb|\hop|, hvis du har læst
-%     \cite{eijkhout:hop}.
+%     Den her skal også defineres i den her gruppe
 %   \end{danish}
 %   \begin{english}
-%     You man reckognize this one as \verb|\hop| if you've read
-%     \cite{eijkhout:hop}.
+%     This one needs to be defined in this group as well
 %   \end{english}
 %    \begin{macrocode}
-\def\expandFiHere##1\fi{\fi ##1}
+      \def\expandFiHere##1\fi{\fi ##1}
 %    \end{macrocode}
 % \end{macro}
 %   \begin{danish}
@@ -1080,24 +1401,24 @@
 % \end{macro}
 % \begin{macro}{\ifwritetitles}
 %    \begin{macrocode}
-\newif\ifwritetitles\writetitlesfalse
+      \newif\ifwritetitles\writetitlesfalse
 %    \end{macrocode}
 % \end{macro}
 % \begin{danish}
 %   Her kobler vi mening på de tokens, som vi stoppede ind i
-%   \verb|\revy at tabtoks| tidligere.
+%   \verb|\revy at tabs| tidligere.
 % \end{danish}
 % \begin{english}
 %   Here, we attach meaning to the tokens we stuffed into
-%   \verb|\revy at tabtoks| previously.
+%   \verb|\revy at tabs| previously.
 % \end{english}
 %    \begin{macrocode}
       \def\printovertab##1##2{
         \fill ( 0, -##1\tabheight ) 
         node[ text=white, anchor=east ]{\bfseries##1}
-        +( \overtableft, -.5\tabheight + 1mm )
-        rectangle +( \overtabright, .5\tabheight - 1mm )
-        +( \textoffset, 0 )
+          +( \overtableft, -.5\tabheight + 1mm )
+          rectangle +( \overtabright, .5\tabheight - 1mm )
+          +( \textoffset, 0 )
         \ifwritetitles
           node[ anchor=\textanchorcorner ]{\small\bfseries##2}
         \fi
@@ -1107,16 +1428,16 @@
 %    \begin{macrocode}
       \def\printundertab##1##2##3{%
         \path ( 0, -##1\tabheight ) +( \undertabright, -.5\tabheight - 1mm )
-        coordinate (topright);
+          coordinate (topright);
         \path ( 0, -##2\tabheight ) +( \undertableft, -.5\tabheight + 1mm )
-        coordinate (bottomleft);
+          coordinate (bottomleft);
         \fill[ color=black!30 ] (topright) rectangle (bottomleft);
         \path (bottomleft)
         \underangle node[ xshift=\underlabeloffset,
-        pos=\underpos,
-        rotate=\undersign90
-        ]{\Large##3}
-        (topright);
+                          pos=\underpos,
+                          rotate=\undersign90
+                         ]{\Large##3}
+          (topright);
       }%    
 %    \end{macrocode}
 %    \begin{macrocode}
@@ -1387,7 +1708,54 @@
 % \end{macro}\end{macro}\end{macro}\end{macro}
 %
 % \begin{danish}
-%   \subsection{Infoblokken}
+%   I eksemplet i appendiks \ref{fullex} er \verb|thumbindex| ikke
+%   taget med, fordi det kun rigtig giver mening at lave
+%   registermærkninger i en samling af manuskripter. Men hvis der
+%   ligger en fil i samme mappe som eksempelfilen, som hedder
+%   \texttt{aktoversigt.plan}, hvor indholdet er eksemplet fra før, og
+%   hvis invokeringen i eksempelfilen skiftes ud med
+% \end{danish}
+% \begin{english}
+%   The thumbindex hasn't been enabled in the example file in appendix
+%   \ref{fullex}, since there's nothing to index. However, if you were
+%   to place the example plan file above in a file along side
+%   \texttt{Example.tex} named \texttt{aktoversigt.plan}, and replace
+%   the class invocation at the top of \texttt{Example.tex} with
+% \end{english}
+% \begin{verbatim}
+%\documentclass[thumbindex]{ucph-revy}
+% \end{verbatim}
+% \begin{danish}
+%   så burde \texttt{.tex}--filen kompilere til et resultat, som har
+%   registermærkninger ligesom i eksemplet i figur
+%   \ref{eksempel}. Manglende filer bliver bare ignoreret.
+%
+%   Det lyder måske som en god idé at have en side med et register,
+%   som ligner det i figur \ref{registerex}, men som passer i
+%   størrelsen til de mærkninger, som bliver sat i den enkelte
+%   manuskriptfil. Et eksempel på hvordan man kunne lave en side med
+%   sådan et registerindeks findes i appendiks
+%   \ref{registerindeks}. Hvis du har adgang til klassens kildefiler
+%   kan du også trække den kode ud i filen \texttt{Thumbindex.tex},
+%   ved at køre filen \texttt{upch-revy-ex-thumb.ins} igennem \LaTeX.
+% \end{danish}
+% \begin{english}
+%   then the typeset result should have a thumb marking like the one
+%   in figure \ref{example}. Nonexistent files are simply ignored when
+%   constructing the thumb index.
+%
+%   You might also like to have a page with an index of the thumb
+%   markings, something similar to figure \ref{thumbindexex}, but
+%   scaled to a full page. Appendix \ref{registerindeks} hold a
+%   complete example of one way to make a page like that. If you have
+%   access to the package's source files, you can also extract that
+%   code as the file \texttt{Thumbindex.tex}, by running the file
+%   \texttt{ucph-revy-ex-thumb.ins} through \LaTeX.
+% \end{english}
+% \end{macro}
+% 
+% \begin{danish}
+%   \subsection{Infoblokken}\label{info}
 %   Lige efter titlen kan vi sætte en masse information, som er
 %   brugbar i arbejdet med at organisere en revy. Figur \ref{title}
 %   viser et eksempel på, hvordan titlen ser ud med alle informationer
@@ -1399,6 +1767,7 @@
 %   \phantom{.}
 %   \begingroup
 %   \exDaPre
+%   \title[Eksempel]{Et eksempel til at illustrere brugen af ucph--revy}
 %   \def\getpagerefnumber#1{2}
 %   \vspace{6em}
 %   \class at maketitle
@@ -1418,7 +1787,7 @@
 %   at have dem med. Makroerne var:
 %\end{danish}
 %\begin{english}
-%  \subsection{The infoblock}
+%  \subsection{The infoblock}\label{info}
 %  \cn's modified title block contains some additinal information that
 %  is useful in organizing a show. Figure \ref{title} shows an example
 %  of how the title block looks with every possilbe piece of
@@ -1430,6 +1799,7 @@
 %   \phantom{.}
 %   \begingroup
 %   \exEnPre
+%   \title[Example]{An example to illustrate the use of ucph--revy}
 %   \def\getpagerefnumber#1{2}
 %   \vspace{6em}
 %   \class at maketitle
@@ -1472,7 +1842,7 @@
 %     \verb|\version| is the only one of these commands that may not
 %     be omitted, because version conrol is important\footnote{You
 %     might be of the opinion that there are better ways of doing
-%     version control in the far future year 2023. In which case, you
+%     version control in this far future year 2023. In which case, you
 %     may take this as a reminder to actually use one of them.}.
 %   \end{english}
 %   \begin{implementation}
@@ -1494,19 +1864,19 @@
 % \begin{macro}{\revyyear}
 % \begin{macro}{\title}
 % \begin{danish}
+% \changes{v1.2.0}{2025/03/18}{Valgfri kort titel}
 %\begin{verbatim}
 %\revyname{FysikRevy\texttrademark}
 %\revyyear{2019}
-%\title{Eksempel}
-%\author{en eksempelsmed}
+%\title[Eksempel]{Et eksempel til at illustrere brugen af ucph--revy}
 %\end{verbatim}
 %\end{danish}
 %\begin{english}
+%\changes{v1.2.0}{2025/03/18}{Optional short title}
 %  \begin{verbatim}
 %\revyname{The Meaning of Liff}
 %\revyyear{3001}
-%\title{Example}
-%\author{an examplesmith}
+%\title[Example]{An example to illustrate the use of ucph--revy}
 %  \end{verbatim}
 %\end{english}
 %   \begin{implementation}
@@ -1514,13 +1884,48 @@
 \def\revyname#1{\def\@revyname{#1}}
 \def\revyyear#1{\def\@revyyear{#1}}
 %    \end{macrocode}
+% \end{implementation}
+% \label{shorttitle}
+%   \begin{danish}
+%     Her demonstreres brugen af den valgfri parameter til
+%     \verb|\title|, som er en kort udgave af titlen, som bliver brugt
+%     i sidehovedet, og kan bruges i indholdsoversigter. I eksemplet i
+%     appendix \ref{fullex} er den valgfri parameter udeladt, fordi
+%     titlen der ikke er uforholdsmæssigt lang.
+%   \end{danish}
+%   \begin{english}
+%     This demonstrates the use of the optional parameter to
+%     \verb|\title|, which is a short version of the title. The short
+%     title is put in the page headers, and can be used for content
+%     lists. In the example in appendix \ref{fullex}, the optional
+%     parameter is skipped, since its title is of a reasonable length.
+%   \end{english}
+%   \begin{implementation}
+%    \begin{macrocode}
+\let\revy at oldtitle=\title
+\renewcommand{\title}[2][\relax]{%
+  \ifx\relax#1 \shorttitle{\@title}\else\shorttitle{#1}\fi
+  \revy at oldtitle{#2}%
+}
+%    \end{macrocode}
+% \end{implementation}
+% \begin{macro}{\shorttitle}
 % \begin{danish}
-%   \verb|\title| og \verb|\author| bliver ikke ændret.
+%   Den korte titel kan også sættes med makroen
+%   \verb|\shorttitle|\marg{kort titel}.
 % \end{danish}
 % \begin{english}
-%   \verb|\title| and \verb|\author| remian unaltered.
+%   The short title may also be set with the macro
+%   \verb|\shorttitle|\marg{short title}.
 % \end{english}
+% \begin{implementation}
+%    \begin{macrocode}
+\newcommand{\shorttitle}[1]{\def\theshorttitle{#1}}
+\shorttitle{\@title}
+%    \end{macrocode}
 % \end{implementation}
+% \end{macro}
+% 
 % \begin{danish}
 %   Hvis \cn\ ikke får at vide, hvad revyens navn og år skal være,
 %   og hvad titlen er, går den som standard ud fra, at det er
@@ -1530,6 +1935,7 @@
 %   If \cn\ isn't given a revue name, year or a title, it will use the
 %   defaults of ``DIKUrevy'', ``1973'' and ``En sketch''.
 % \end{english}
+%
 % \begin{implementation}
 %    \begin{macrocode}
 \def\@revyyear{1973}
@@ -1549,10 +1955,10 @@
 %   \begin{danish}
 %     De resterende bliver ikke sat, hvis de ikke bliver defineret.
 %\begin{verbatim}
+%\author{en eksempelsmed}
 %\status{eksempel}
 %\eta{$1$ minut, $47$ sekunder}
 %\responsible{Dig}
-%\author{en eksempelsmed}
 %\melody{Queen: "`Bohemian Rhapsody"' (\url{https://youtu.be/fJ9rUzIMcZQ})}
 %\end{verbatim}
 %   \end{danish}
@@ -1559,6 +1965,7 @@
 %   \begin{english}
 %     The rest aren't typeset if they are not defined.
 %\begin{verbatim}
+%\author{an examplesmith}
 %\status{example}
 %\eta{$1$ minute, $47$ seconds}
 %\responsible{Probably you}
@@ -1695,6 +2102,8 @@
 %     "`0 sider"', mens \verb|\pagessum{1}| giver "`1 side"'. En ny
 %     makro, som hedder \verb|\pagessum|, men gør noget andet, kan
 %     defineres med \verb|\renewcommand|.
+%
+%     I udgangspunktet er definitionen
 %   \end{danish}
 %   \begin{english}
 %     The page count is a touch more complicated, and requires a macro
@@ -1702,17 +2111,14 @@
 %     grammatically correct phrase for that page count. Thus
 %     \verb|\pagessum{0}| becomes ``0 sider'' (the plural), while
 %     \verb|\pagessum{1}| becomes ``1 side'' (the singular).
-%   \end{english}
-%   \begin{implementation}
-%     \begin{english}
-%       The default macro, for danish, is
+%
+%     The default macro, for danish, is
 %     \end{english}
 %    \begin{macrocode}
 \newcommand{\pagessum}[1]{#1 side\ifnum1=#1\else r\fi}
 %    \end{macrocode}
-% \end{implementation}
 %   \begin{english}
-%     In the example, such a macro is given for english in the line
+%     In the example, such a macro is given for english as
 %     \begin{verbatim}
 %\renewcommand{\pagessum}[1]{#1 page\ifnum#1=1\else s\fi}
 %     \end{verbatim}
@@ -1887,8 +2293,14 @@
 %
 % \begin{figure}[htbp]
 %   \begingroup
-%   \IfLanguageName{danish}{\exDaPre}{}
-%   \IfLanguageName{english}{\exEnPre}{}
+%   \IfLanguageName{danish}{
+%     \exDaPre
+%     \title[Eksempel]{Et eksempel til at illustrere brugen af ucph--revy}
+%   }{}
+%   \IfLanguageName{english}{
+%     \exEnPre
+%     \title[Example]{An example to illustrate the use of \cn}
+%   }{}
 %   \ps at revyheadings
 %   \let\thepage=2
 %   \def\pageref#1{2}
@@ -1928,7 +2340,7 @@
       \hbox to \textwidth{\hfil\rectoheaderthumbtab}
       \hbox{\rm\strut\@revyname{} \@revyyear}
       \hbox to \textwidth{Version \@version\quad\today
-        \hfil {\large\sl\@title}\hfil
+        \hfil {\large\sl\theshorttitle}\hfil
         Side \rm\thepage/\pageref{lastpage}}
       \hrule}}
   \def\@evenhead{\vbox to 0pt{\vss
@@ -1935,7 +2347,7 @@
       \hbox{\versoheaderthumbtab}
       \hbox to \textwidth{\hfil\rm\strut\@revyname{} \@revyyear}
       \hbox to \textwidth{Side \rm\thepage/\pageref{lastpage}
-        \hfil {\large\sl\@title}\hfil
+        \hfil {\large\sl\theshorttitle}\hfil
         Version \@version\quad\today}
       \hrule}}
   \def\@oddfoot{}\def\@evenfoot{}}
@@ -2026,6 +2438,9 @@
 %   \role{I} Vred instruktør
 %   \role{A9}[A--ni] Anine
 % \end{roles}
+% \begin{instructors}
+%   \instructor[Instruktør] Raben
+% \end{instructors}
 % \begin{props}
 %   \prop{Hedegaard--hår}[Person, der skaffer]
 %   \prop{Didgeridoo}[Anine]
@@ -2039,6 +2454,9 @@
 %       \role{I} Vred instruktør
 %       \role{A9}[A--ni] Anine
 %     \end{roles}
+%     \begin{instructors}
+%       \instructor[Instruktør] Raben
+%     \end{instructors}
 %     \begin{props}
 %       \prop{Hedegaard--hår}[Person, der skaffer]
 %       \prop{Didgeridoo}[Anine]
@@ -2423,7 +2841,7 @@
 %     \changes{v1.0.0}{2023/09/05}{The body text macros
 %     (\texttt{\textbackslash scene}, etc.) are no longer available
 %     outside the \texttt{song} and \texttt{sketch} environments.}
-%     To typese spoken lines, as in the example shown in figure
+%     To typeset spoken lines, as in the example shown in figure
 %     \ref{sketchex}, use the \texttt{sketch} envrionment.
 %
 %     \begin{figure}[hbtp]
@@ -3097,7 +3515,11 @@
   \role{I} Vred instruktør
   \role{A9}[A--ni] Anine
 \end{roles}
-%% props-miljøet kan fjernes, hvis der ikke er brug for det
+%% instructors- og props-miljøet kan fjernes, hvis der ikke er brug
+%% for det
+\begin{instructors}
+  \instructor[Instruktør] Raben
+\end{instructors}
 \begin{props}
   \prop{Hedegaard--hår}[Person, der skaffer]
   \prop{Didgeridoo}[Anine]
@@ -3135,10 +3557,6 @@
   \says{A9} Didgeridoo?
   \says{PH} Ja. Der står i rekvisitlisten, at du skaffer en.
   \says{A9} Jamen så må det jo passe.
-  \says{PH} Ja, ellers skriver vi "`Person, der skaffer,"' for at
-  minde os om at skrive et navn ind.
-  \says{A9} Nå, men så må jeg jo hellere begynde at lede. \act{Vender
-  sig mod Bandet} Bandet, har I...?
 %<*driver>
 \end{sketch}
 \end{document}
@@ -3147,6 +3565,10 @@
   \begin{document}
   \begin{sketch}
 %</driver>
+  \says{PH} Ja, ellers skriver vi "`Person, der skaffer,"' for at
+  minde os om at skrive et navn ind.
+  \says{A9} Nå, men så må jeg jo hellere begynde at lede. \act{Vender
+  sig mod Bandet} Bandet, har I...?
   \scene{Hvert bandmedlem holder sin egen didgeridoo op.}
   \says{A9}[Til PH] Den ser ud til at være i vinkel.
   \says{PH} Sejt.

Modified: trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.ins	2025-04-05 19:54:41 UTC (rev 74856)
+++ trunk/Master/texmf-dist/source/latex/ucph-revy/ucph-revy.ins	2025-04-05 19:55:04 UTC (rev 74857)
@@ -7,7 +7,7 @@
 
 Copyright (C) 1995 Arne John Glenstrup
               2000 Uffe Friis Lichtenberg
-              2023 Kristoffer Levin Hansen
+              2023-2025 Kristoffer Levin Hansen
 
 This file may be distributed and/or modified under the
 conditions of the LaTeX Project Public License, either

Modified: trunk/Master/texmf-dist/tex/latex/ucph-revy/ucph-revy.cls
===================================================================
--- trunk/Master/texmf-dist/tex/latex/ucph-revy/ucph-revy.cls	2025-04-05 19:54:41 UTC (rev 74856)
+++ trunk/Master/texmf-dist/tex/latex/ucph-revy/ucph-revy.cls	2025-04-05 19:55:04 UTC (rev 74857)
@@ -9,7 +9,7 @@
 %% 
 %% Copyright (C) 1995 Arne John Glenstrup
 %%               2000 Uffe Friis Lichtenberg
-%%               2023 Kristoffer Levin Hansen
+%%               2023-2025 Kristoffer Levin Hansen
 %% 
 %% This file may be distributed and/or modified under the
 %% conditions of the LaTeX Project Public License, either
@@ -22,7 +22,7 @@
 %% LaTeX version 2005/12/01 or later.
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesClass{ucph-revy}
-    [2024/12/18 v1.1.0  A class for making musical manuscripts]
+    [2025/03/26 v1.2.0  A class for making musical manuscripts]
 \RequirePackage{xstring}
 \newif\if at thumbindex\@thumbindexfalse
 \DeclareOption{thumbindex}{\@thumbindextrue}
@@ -42,88 +42,146 @@
 \setlength{\textheight}{\paperheight}
 \addtolength{\textheight}{-4cm}
 \if at thumbindex
+  \def\revy at readwithhash{
+    \catcode`\#=11
+    \read\planread to \line
+    \catcode`\#=6
+  }
+  \catcode`\#=11
+  \edef\octothorpe{#}
+  \catcode`\#=6
   \expandafter\@firstofone
 \else
   \expandafter\@gobble
 \fi{
-  \RequirePackage[OT1]{fontenc}
-  \begingroup
-    \count256=0
-    \endlinechar=-1
-    \newtoks\tabtoks
-    \newread\tabtex
-    \newread\planread
-    \openin\planread=\planfile
-    \def\expandFiHere#1\fi{\fi #1}
-    \def\patheat#1/#2{%
-      \ifx\relax#2\else
-        \expandFiHere#1/\patheat#2%
-      \fi
+  \newtoks\planfileAllowedMacros
+  \planfileAllowedMacros={
+    \title\eta\status\melody\revyname\revyyear\category
+  }
+  \def\planfileAllowMacros#1{
+    \toks256={#1}
+    \edef\act{
+      \noexpand\planfileAllowedMacros={
+        \the\planfileAllowedMacros \the\toks256
+      }
     }
-    \edef\planpath{\expandafter\patheat\planfile/\relax}
-    \def\titleeater#1#2\title#3{%
-      \ifx\done#3%
-        #1%
-      \else
-        \expandFiHere
-        \titleeater{#3}%
-      \fi
-    }
-    \loop\ifeof\planread
-      \closein\planread
-    \else
-      \ifeof\tabtex
-        \let\readline\empty
-        \read\planread to \line
-        \expandafter\ifx\expandafter\par\line\else
-          \IfEndWith{\line}{.tex}{
-            \advance\count256 by 1
-            \set at curr@file{\line}
-            \openin\tabtex={\planpath\@curr at file}
-          }{%
-            \edef\act{\noexpand\tabtoks={%
-              \the\tabtoks
-              \noexpand\undertab
-              \number\count256
-              \noexpand\text
-              \line
-              \noexpand\stop
-            }}\act
-          }
+    \act
+  }
+  \def\revy at tabs{%
+    \begingroup
+      \def\stubCommand{}%
+      \def\swap##1##2{##2##1}%
+      \def\skipFiFi##1\nothing{\fi\fi}%
+      \let\nothing=\relax
+      \def\markStubCommands##1{%
+        \ifx\@undefined##1 \else
+          \ifx\relax##1%
+            \skipFiFi
+          \fi
         \fi
+        \let##1=\stubCommand
+        \swap\markStubCommands\nothing
+      }
+      \edef\act{\noexpand\markStubCommands\the\planfileAllowedMacros\relax}%
+      \act
+      \newif\ifstub \stubfalse
+      \def\findStubCommands##1{%
+        \ifx\stubCommand##1%
+          \stubtrue
+        \fi
+        \ifx\relax##1 \else
+          \expandafter\findStubCommands
+        \fi
+      }%
+      \def\expandFiHere##1\fi{\fi ##1}%
+      \def\patheat##1/##2{%
+        \ifx\relax##2\else
+          \expandFiHere##1/\patheat##2%
+        \fi
+      }%
+      \edef\planpath{\expandafter\patheat\planfile/\relax}%
+      \newread\planread
+      \openin\planread=\planfile
+                                %[
+      \def\skipopt##1]##2{\titleeater{##2}}%
+      \def\titleeater##1##2\title##3{%
+        \ifx\done##3%
+          ##1%
+        \else
+          \ifx##3[%               ]
+            \expandFiHere\expandFiHere\skipopt
+          \else
+            \expandFiHere\expandFiHere\titleeater{##3}%
+          \fi
+        \fi
+      }%
+      \endlinechar=-1
+      \newread\tabtex
+      \newtoks\tabtoks
+      \newcount\tabscount \tabscount=0
+      \loop\ifeof\planread
+        \closein\planread
+        \closein\tabtex
       \else
-        \read\tabtex to \subline
-        \edef\readline{%
-          \expandafter\titleeater
-          \expandafter\readline\subline\title\done
-        }
         \ifeof\tabtex
-          \edef\act{\noexpand\tabtoks={%
+          \let\readline\empty
+          \revy at readwithhash
+          \stubfalse
+          \expandafter\findStubCommands\line\relax
+          \ifstub \else
+            \IfStrEq{}{\line}{}{%
+              \IfBeginWith{\line}{\octothorpe}{}{%
+                \IfEndWith{\line}{.tex}{%
+                  \advance\tabscount by 1 %
+                  \set at curr@file{\line}%
+                  \openin\tabtex={\planpath\@curr at file}%
+                }{%
+                  \edef\act{\noexpand\tabtoks={%
+                    \the\tabtoks
+                    \noexpand\undertab
+                    \number\tabscount
+                    \noexpand\text
+                    \line
+                    \noexpand\stop
+                  }}\act
+                }%
+              }%
+            }%
+          \fi
+        \else
+          \read\tabtex to \subline
+          \edef\readline{%
+            \expandafter\titleeater
+            \expandafter\readline\subline\title\done
+          }%
+          \ifeof\tabtex
+            \edef\act{\noexpand\tabtoks={%
               \the\tabtoks
               \noexpand\overtab
-              \number\count256
+              \number\tabscount
               \noexpand\text
               \readline
               \noexpand\stop
             }}\act
+          \fi
         \fi
-      \fi
-    \repeat
-    \closein\tabtex
-    \edef\act{\noexpand\tabtoks={%
-        \the\tabtoks
-        \noexpand\undertab
-        \number\count256
-        \noexpand\text
-        \noexpand\done
-        \noexpand\stop
-      }}\act
-    \xdef\revy at tabs{\the\tabtoks}
-  \endgroup
+      \repeat
+      \edef\act{\noexpand\tabtoks={%
+          \the\tabtoks
+          \noexpand\undertab
+          \number\tabscount
+          \noexpand\text
+          \noexpand\done
+          \noexpand\stop
+        }}\act
+      \xdef\revy at tabs{\the\tabtoks}%
+    \endgroup
+    \revy at tabs
+  }
   \RequirePackage{tikz}
   \def\revy at thumbindex#1{%
     \begingroup
-\def\expandFiHere##1\fi{\fi ##1}
+      \def\expandFiHere##1\fi{\fi ##1}
       \newdimen\tabheight
       \tabheight=\paperheight
       \advance\tabheight by -1cm%
@@ -157,13 +215,13 @@
         \def\textoffset{\undertabright + .5cm}
         \def\textside{left}
       }
-\newif\ifwritetitles\writetitlesfalse
+      \newif\ifwritetitles\writetitlesfalse
       \def\printovertab##1##2{
         \fill ( 0, -##1\tabheight )
         node[ text=white, anchor=east ]{\bfseries##1}
-        +( \overtableft, -.5\tabheight + 1mm )
-        rectangle +( \overtabright, .5\tabheight - 1mm )
-        +( \textoffset, 0 )
+          +( \overtableft, -.5\tabheight + 1mm )
+          rectangle +( \overtabright, .5\tabheight - 1mm )
+          +( \textoffset, 0 )
         \ifwritetitles
           node[ anchor=\textanchorcorner ]{\small\bfseries##2}
         \fi
@@ -171,16 +229,16 @@
       }%
       \def\printundertab##1##2##3{%
         \path ( 0, -##1\tabheight ) +( \undertabright, -.5\tabheight - 1mm )
-        coordinate (topright);
+          coordinate (topright);
         \path ( 0, -##2\tabheight ) +( \undertableft, -.5\tabheight + 1mm )
-        coordinate (bottomleft);
+          coordinate (bottomleft);
         \fill[ color=black!30 ] (topright) rectangle (bottomleft);
         \path (bottomleft)
         \underangle node[ xshift=\underlabeloffset,
-        pos=\underpos,
-        rotate=\undersign90
-        ]{\Large##3}
-        (topright);
+                          pos=\underpos,
+                          rotate=\undersign90
+                         ]{\Large##3}
+          (topright);
       }%
       \def\overtab##1\text##2\stop{%
         \printovertab{##1}{##2}
@@ -277,6 +335,13 @@
 \global\let\the at version=\versionsnr}{}\the at version}
 \def\revyname#1{\def\@revyname{#1}}
 \def\revyyear#1{\def\@revyyear{#1}}
+\let\revy at oldtitle=\title
+\renewcommand{\title}[2][\relax]{%
+  \ifx\relax#1 \shorttitle{\@title}\else\shorttitle{#1}\fi
+  \revy at oldtitle{#2}%
+}
+\newcommand{\shorttitle}[1]{\def\theshorttitle{#1}}
+\shorttitle{\@title}
 \def\@revyyear{1973}
 \def\@revyname{DIKUrevy}
 \def\@title{En sketch}
@@ -354,7 +419,7 @@
       \hbox to \textwidth{\hfil\rectoheaderthumbtab}
       \hbox{\rm\strut\@revyname{} \@revyyear}
       \hbox to \textwidth{Version \@version\quad\today
-        \hfil {\large\sl\@title}\hfil
+        \hfil {\large\sl\theshorttitle}\hfil
         Side \rm\thepage/\pageref{lastpage}}
       \hrule}}
   \def\@evenhead{\vbox to 0pt{\vss
@@ -361,7 +426,7 @@
       \hbox{\versoheaderthumbtab}
       \hbox to \textwidth{\hfil\rm\strut\@revyname{} \@revyyear}
       \hbox to \textwidth{Side \rm\thepage/\pageref{lastpage}
-        \hfil {\large\sl\@title}\hfil
+        \hfil {\large\sl\theshorttitle}\hfil
         Version \@version\quad\today}
       \hrule}}
   \def\@oddfoot{}\def\@evenfoot{}}



More information about the tex-live-commits mailing list.