texlive[69659] Master/texmf-dist: schooldocs (1feb24)

commits+karl at tug.org commits+karl at tug.org
Thu Feb 1 22:06:24 CET 2024


Revision: 69659
          https://tug.org/svn/texlive?view=revision&revision=69659
Author:   karl
Date:     2024-02-01 22:06:24 +0100 (Thu, 01 Feb 2024)
Log Message:
-----------
schooldocs (1feb24)

Modified Paths:
--------------
    trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs-examples.pdf
    trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs.pdf
    trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.dtx
    trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.ins
    trunk/Master/texmf-dist/tex/latex/schooldocs/schooldocs.sty

Added Paths:
-----------
    trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs-examples.tex

Modified: trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs-examples.pdf
===================================================================
(Binary files differ)

Added: trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs-examples.tex
===================================================================
--- trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs-examples.tex	                        (rev 0)
+++ trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs-examples.tex	2024-02-01 21:06:24 UTC (rev 69659)
@@ -0,0 +1,327 @@
+
+\documentclass[a4paper,11pt]{article}
+
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[english]{babel}
+\usepackage{times,lmodern,charter}
+\usepackage{schooldocs}
+\usepackage{enumerate}
+\usepackage{multicol}
+\usepackage{centeredline}
+\usepackage{hyperref}
+\usepackage{lipsum}
+
+\definecolor{darkbrown}{rgb}{0.5,0.1,0.1}
+
+\pagestyle{collection}
+\title{The schooldocs package}
+\subject{Example file for titles and styles}
+\author{Antoine Missier}
+\institute{Royal College of Pataphysics}
+\date{December 28, 2023}
+\renewcommand{\titlestyle}{\Huge} %\sffamily
+\hypersetup{colorlinks, linkcolor=blue}
+%\setcounter{tocdepth}{0}
+
+\begin{document}
+
+\maketitle
+
+On the following pages we showcase various title formatting options
+and the different styles. 
+This initial page has been created using the \textbf{collection} style, for which
+the main title style has been redefined through
+\verb|\renewcommand{\titlestyle}{\Huge}|.
+
+
+\medskip
+In most examples (dated may 4, 2020), we have utilized
+the \textsf{lmodern} package font, which pairs well with a sans-serif title style.
+To achieve this, simply redefine the title style using
+\smallskip
+\centeredline{\verb|\renewcommand\titelstyle{\LARGE\bfseries\sffamily}|.}
+
+\smallskip
+For examples dated january 25 or december 28, 2023, we have opted 
+for the \textsf{charter}, or	\textsf{times} fonts. 
+For these fonts, the default title style setting 
+\verb|\LARGE\bfseries| is suitable.
+
+
+\seprule
+
+\begin{center} \Large \color{darkbrown}
+\bfseries Table of contents
+\end{center}
+
+\bigskip
+
+\begin{multicols}{2}
+\begin{enumerate}[\bfseries 1.]
+	\item \hyperlink{schooldocs-example-center}{\bfseries The standard title}
+	\item \hyperlink{schooldocs-example-left}{\bfseries A left-aligned title}
+	\item \hyperlink{schooldocs-example-right}{\bfseries A right-aligned title}
+	\item \hyperlink{schooldocs-example-norule}{\bfseries
+		The standard title without rule}
+	\item \hyperlink{schooldocs-example-boxed}{\bfseries A title in boxed shape}
+	\item \hyperlink{schooldocs-example-seprule}{\bfseries
+		The \texttt{\textbackslash seprule} and \texttt{\textbackslash correct} macros}
+	\item \hyperlink{schooldocs-example-small}{\bfseries A ``small'' title}
+	\item \hyperlink{schooldocs-example-classic}{\bfseries The classic style layout}
+	\item \hyperlink{schooldocs-example-elegant}{\bfseries The elegant style layout}
+	\item \hyperlink{schooldocs-example-modern}{\bfseries The modern style layout}
+	\item \hyperlink{schooldocs-example-soft}{\bfseries The soft style layout}
+	\item \hyperlink{schooldocs-example-exam}{\bfseries The exam style layout}
+	\item \hyperlink{schooldocs-example-examcorrect}{\bfseries
+		Exam style with the \texttt{\textbackslash correct} macro}
+	\item \hyperlink{schooldocs-example-collection}{\bfseries The collection style layout}
+	\item \hyperlink{schooldocs-example-identity}{\bfseries 
+		The identity style in collection}
+	\item \hyperlink{schooldocs-example-small-identity}{\bfseries 
+		A ``small'' title with identity}
+	\item \hyperlink{schooldocs-example-modern-small-identity}{\bfseries 
+		Small title, identity and modern style}
+	\item \hyperlink{schooldocs-example-left-identity}{\bfseries 
+		A left-aligned title with identity}
+\end{enumerate}
+\end{multicols}
+
+\newpage
+\hypertarget{schooldocs-example-center}{}
+\addcontentsline{toc}{section}{The standard title}
+
+\fontfamily{lmr}\selectfont
+\pagestyle{empty}
+\lfoot{}
+\cfoot{}
+\rfoot{}
+\renewcommand{\subjectstyle}{}
+\renewcommand{\authorstyle}{}
+\renewcommand{\datestyle}{}
+\renewcommand{\titlestyle}{\LARGE\bfseries\sffamily}
+\renewcommand\subjectstyle{\large}
+\setlength{\titletopskip}{-1.32cm}
+\setlength\titlesep{2\medskipamount}
+\schooldocstitles
+\title{The standard title}
+\subject[Pathography / M2A]{Pathography / Master 2A}
+\date{May 4, 2020}
+
+\maketitle
+\lipsum[1]
+
+\newpage
+\hypertarget{schooldocs-example-left}{}
+\addcontentsline{toc}{section}{A left-aligned title}
+
+\renewcommand{\titleflush}{flushleft}
+\title{A left-aligned title}
+\maketitle
+\lipsum[1]
+
+\newpage
+\hypertarget{schooldocs-example-right}{}
+
+\renewcommand{\titleflush}{flushright}
+\title{A right-aligned title}
+\maketitle
+\lipsum[1]
+
+\newpage
+\hypertarget{schooldocs-example-norule}{}
+
+\renewcommand{\titleflush}{center}
+\title{The standard title without rule}
+\maketitle[0pt]
+\lipsum[1]
+
+\newpage
+\hypertarget{schooldocs-example-boxed}{}
+
+\renewcommand{\titlestyle}{\LARGE\sffamily\bfseries\boxedshape}
+\title{A title in boxed shape}
+\maketitle
+\lipsum[1]
+
+\newpage
+\hypertarget{schooldocs-example-seprule}{}
+
+\renewcommand{\titlestyle}{\LARGE\bfseries\sffamily}
+\title{The \textbackslash seprule and \textbackslash correct macros}
+\correct
+\maketitle
+\lipsum[1]\seprule\lipsum[2]\seprule\lipsum[3]
+
+\newpage
+\hypertarget{schooldocs-example-small}{}
+
+\fontfamily{bch}\selectfont
+\title{A ``small'' title}
+\date{January 25, 2023}
+\makesmalltitle
+\lipsum[1]
+
+\newpage
+\hypertarget{schooldocs-example-classic}{}
+
+\fontfamily{lmr}\selectfont
+\setcounter{page}{1}
+\pagestyle{classic}
+\title[The classic style]{The classic style layout}
+\date{May 4, 2020}
+\maketitle
+\section*{Pellentesque a nulla}
+\lipsum[1-3]
+\section*{Vestibulum lectus}
+\lipsum[5-9]
+
+\newpage
+\hypertarget{schooldocs-example-elegant}{}
+
+\setcounter{page}{1}
+\setcounter{section}{0}
+\addtolength{\headheight}{-\baselineskip}
+\pagestyle{elegant}
+\title[The elegant style]{The elegant style layout}
+\schooldocstitles
+\maketitle
+\section*{Pellentesque a nulla}
+\lipsum[1-3]
+\section*{Vestibulum lectus}
+\lipsum[5-9]
+
+\newpage
+\hypertarget{schooldocs-example-modern}{}
+
+\setcounter{page}{1}
+\setcounter{section}{0}
+\renewcommand{\headrulewidth}{0.4pt}
+\pagestyle{modern}
+\title[The modern style]{The modern style layout}
+\maketitle
+\section*{Pellentesque a nulla}
+\lipsum[1-3]
+\section*{Vestibulum lectus}
+\lipsum[5-9]
+
+\newpage
+\hypertarget{schooldocs-example-soft}{}
+
+\setcounter{page}{1}
+\setcounter{section}{0}
+\pagestyle{soft}
+\title[The soft style]{The soft style layout}
+\maketitle
+\section*{Pellentesque a nulla}
+\lipsum[1-3]
+\section*{Vestibulum lectus}
+\lipsum[5-9]
+
+\newpage
+\hypertarget{schooldocs-example-exam}{}
+
+\setcounter{page}{1}
+\setcounter{section}{0}
+\fontfamily{ptm}\selectfont 
+\pagestyle{exam}
+\title[The exam style]{The exam style layout}
+\date{December 28, 2023}
+\subtitle{Duration of the test: 2\,h}
+\maketitle
+\section*{Pellentesque a nulla}
+\lipsum[1-3]
+\section*{Vestibulum lectus}
+\lipsum[5-9]
+
+\newpage
+\hypertarget{schooldocs-example-examcorrect}{}
+
+\setcounter{page}{1}
+\setcounter{section}{0}
+\correct
+\maketitle
+\section*{Pellentesque a nulla}
+\lipsum[1-3]
+\section*{Vestibulum lectus}
+\lipsum[5-9]
+
+\newpage
+\hypertarget{schooldocs-example-collection}{}
+
+\setcounter{page}{1}
+\setcounter{section}{0}
+\fontfamily{bch}\selectfont
+\pagestyle{collection}
+\title[The collection style]{The collection style layout}
+\date{December 28, 2023}
+\subtitle{Duration of the test: 2\,h}
+\maketitle
+\section*{Ultrices bibendum}
+\lipsum
+\lipsum[1-3]
+\section*{Etiam facilisis}
+\lipsum[1-5]
+
+\newpage
+\hypertarget{schooldocs-example-identity}{}
+
+\thispagestyle{identity}
+Here we present a single page with the \textbf{identity} style
+within a document using the collection style.
+\par\medskip
+\textbf{Question:} Analyze the previous text and provide a written summary of its content.
+
+\newpage
+\lfoot{}
+\cfoot{\thepage}
+\rfoot{}
+\renewcommand{\subjectstyle}{}
+\renewcommand{\authorstyle}{}
+\renewcommand{\datestyle}{}
+\hypertarget{schooldocs-example-small-identity}{}
+
+\setcounter{page}{1}
+\renewcommand{\titlestyle}{\LARGE\bfseries}
+\renewcommand\subjectstyle{\large}
+\renewcommand{\headrulewidth}{0pt}
+\setlength{\titletopskip}{-1.32cm}
+\setlength\titlesep{2\medskipamount}
+\title{A ``small'' title}
+\date{January 25, 2023}
+\thispagestyle{identity}
+\schooldocstitles
+\makesmalltitle
+\lipsum[1]
+
+\newpage
+\hypertarget{schooldocs-example-modern-small-identity}{}
+
+\setcounter{page}{1}
+\setcounter{section}{0}
+\title[The modern style]{The modern style layout}
+\pagestyle{modern}
+\thispagestyle{identity}
+\makesmalltitle
+\section*{Pellentesque a nulla}
+\lipsum[1-3]
+\section*{Vestibulum lectus}
+\lipsum[5-6]
+
+\newpage
+\hypertarget{schooldocs-example-left-identity}{}
+
+\setcounter{page}{1}
+\lfoot{}
+\cfoot{}
+\rfoot{}
+\renewcommand{\titleflush}{flushleft}
+\title{A left-aligned title}
+\pagestyle{empty}
+\thispagestyle{identity}
+\schooldocstitles
+\maketitle
+\lipsum[1]
+
+\setcounter{page}{2} % for the lastpage field in headers or footers
+\end{document}


Property changes on: trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs-examples.tex
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/Master/texmf-dist/doc/latex/schooldocs/schooldocs.pdf
===================================================================
(Binary files differ)

Modified: trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.dtx
===================================================================
--- trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.dtx	2024-02-01 21:06:11 UTC (rev 69658)
+++ trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.dtx	2024-02-01 21:06:24 UTC (rev 69659)
@@ -1,6 +1,6 @@
 % \iffalse meta-comment
 %
-% Copyright (C) 2020-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+% Copyright (C) 2020-2024 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 % ----------------------------------------------------------------------
 % 
 % This file may be distributed and/or modified under the
@@ -22,7 +22,7 @@
 %<package>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
 %<package>\ProvidesPackage{schooldocs}
 %<*package>
-    [2023/12/28 v1.4 .dtx Layout styles for school documents]
+    [2024/01/31 v1.5 .dtx Layout styles for school documents]
 %</package>
 %
 %<*driver>
@@ -80,7 +80,7 @@
 %</driver>
 % \fi
 %
-% \CheckSum{805}
+% \CheckSum{863}
 %
 % \CharacterTable
 %  {Upper-case    \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
@@ -110,11 +110,15 @@
 %    - sffamily discarded from the default titlestyle
 %    - smalltitletopskip changed from -2.0cm to -1.32cm}
 % \changes{v1.2}{2023/01/24}{
-%    Small changes in the documentation (charter font is now used)
+%    - Small changes in the documentation (charter font is now used)
 %      and the examples file (with several fonts)}
 % \changes{v1.3}{2023/08/28}{English corrections in the documentation}
 % \changes{v1.4}{2023/12/28}{
-%    headtitlestyle in exam and collection styles set to scshape instead of MakeUppercase}
+%    - Headtitlestyle in exam and collection styles set to scshape instead of MakeUppercase}
+% \changes{v1.5}{2024/01/30}{
+%    - Possibility to call maketitle several times with different information fields 
+%         that can be changed outside the preamble
+%    - The schooldocs-examples.pdf file is now generated in a single compilation}
 %
 % \GetFileInfo{schooldocs.dtx}
 % 
@@ -675,20 +679,30 @@
 % \medskip
 % \subsection{Information fields}
 %
+% The PDF information fields are automatically filled in using the information macros, 
+% but this only works in the preamble, hence the test |\ifx at onlypreamble@notprerr|.
+% This allows using these macros outside the preamble, which is the normal behavior 
+% for |\title|, |\date|, |\author|, etc. with the 'article' class.
+%
 % Once defined, information fields are initially set to empty
 % to ensure that tests for empty fields work correctly.
+
 %
 %    \begin{macrocode}
 \renewcommand{\title}[2][]{\long\def\@title{#2} 
     \ifthenelse{\equal{#1}{}}{\def\@headtitle{#2}}{\def\@headtitle{#1}}
-    \@ifpackageloaded{hyperref}{\hypersetup{pdftitle={\@headtitle}}}{} 
+    \ifx\@onlypreamble\@notprerr\else
+        \@ifpackageloaded{hyperref}{\hypersetup{pdftitle={\@headtitle}}}{} 
+    \fi
 } 
 \title{}
 \author{}
 
 \newcommand\school[1]{\long\def\@school{#1}
-    \@ifpackageloaded{hyperref}{
-        \hypersetup{pdfauthor={\@author\ (\@school)}}}{}
+    \ifx\@onlypreamble\@notprerr\else
+        \@ifpackageloaded{hyperref}{
+            \hypersetup{pdfauthor={\@author\ (\@school)}}}{}
+    \fi
 } 
 \school{}
 \newcommand{\institute}{\school}
@@ -696,7 +710,9 @@
 \let\subject\relax
 \newcommand{\subject}[2][]{\long\def\@subject{#2} 
     \ifthenelse{\equal{#1}{}}{\def\@headsubject{#2}}{\def\@headsubject{#1}}
-    \@ifpackageloaded{hyperref}{\hypersetup{pdfsubject={\@headsubject}}}{}
+    \ifx\@onlypreamble\@notprerr\else
+        \@ifpackageloaded{hyperref}{\hypersetup{pdfsubject={\@headsubject}}}{}
+    \fi
 }
 \def\@subject{}
 \def\@headsubject{}
@@ -764,55 +780,64 @@
 %
 % \subsection{Title composition}
 %
+% The first macro, |\schooldocstitles|, aims to define the default composition of titles.
+%  Several styles redefine their own title composition. 
+% This macro allows, when using |\maketitle| multiple times at different places 
+% in the document, to revert to the default definition when a style has modified 
+% the title definition.
 %    \begin{macrocode}
-\renewcommand{\maketitle}[1][\seprulelength]{
-    \mbox{}\par\vspace{\titletopskip}
-    \begin{\titleflush}
-        {\color{titlecolor}
-        {\titlestyle{\@title}}
-        \ifx\@subject\@empty\else
-            \par\vspace{\titlesep}\subjectstyle\@subject
-        \fi
-        \ifthenelse{\equal{\@date}{}}{}{%
-            \par\vspace{0.5\titlesep} \datestyle\@date}
-        \par\vspace{0.5\titlesep}
-        }
-        \ifthenelse{\lengthtest{#1 > 0cm}}{\rule{#1}{\seprulewidth}}{}
-    \end{\titleflush}
-    \vspace{\titlebottomskip} 
-}
+\newcommand{\schooldocstitles}{
+    \renewcommand{\maketitle}[1][\seprulelength]{
+        \newpage\mbox{}\par\vspace{\titletopskip}
+        \begin{\titleflush}
+            {\color{titlecolor}
+            {\titlestyle{\@title}}
+            \ifx\@subject\@empty\else
+                \par\vspace{\titlesep}\subjectstyle\@subject
+            \fi
+            \ifthenelse{\equal{\@date}{}}{}{%
+                \par\vspace{0.5\titlesep} \datestyle\@date}
+            \par\vspace{0.5\titlesep}
+            }
+            \ifthenelse{\lengthtest{##1 > 0cm}}{\rule{##1}{\seprulewidth}}{}
+        \end{\titleflush}
+        \vspace{\titlebottomskip} 
+    }
 
-\newcommand{\makesmalltitle}{
-    \mbox{}\par\vspace{\smalltitletopskip}
-    \begin{center}
-        {\color{titlecolor}
-        {\titlestyle{\@title}}
-        \hfill \subjectstyle\@subject
-        \ifthenelse{\equal{\@date}{}}{}{%
-            \enskip --\enskip \smalltitledatestyle\@date}
-        }
-        \rule{\linewidth}{\seprulewidth}
-    \end{center}
-    \vspace{\titlebottomskip}
-}
+    \let\makesmalltitle\relax
+    \newcommand{\makesmalltitle}{
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
+        \begin{center}
+            {\color{titlecolor}
+            {\titlestyle{\@title}}
+            \hfill \subjectstyle\@subject
+            \ifthenelse{\equal{\@date}{}}{}{%
+                \enskip --\enskip \smalltitledatestyle\@date}
+            }
+            \rule{\linewidth}{\seprulewidth}
+        \end{center}
+        \vspace{\titlebottomskip}
+    }
 
-\newcommand\correct{%
-    \let\@originalheadtitle\@headtitle
-    \def\@headtitle{\@originalheadtitle ~--~\correctname}
-    \@ifpackageloaded{hyperref}{%
-        \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
-    \let\@originaltitle\@title
-    \def\@title{\@originaltitle ~--~\correctname}
+    \let\correct\relax
+    \newcommand\correct{%
+        \let\@originalheadtitle\@headtitle
+        \def\@headtitle{\@originalheadtitle ~--~\correctname}
+        \ifx\@onlypreamble\@notprerr\else
+            \@ifpackageloaded{hyperref}{%
+                \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
+        \fi
+        \let\@originaltitle\@title
+        \def\@title{\@originaltitle ~--~\correctname}
+    }
 }
+\schooldocstitles
 
 \newcommand{\seprule}[1][\seprulelength]{\begin{center}
     \raisebox{0.25\baselineskip}{\rule{#1}{\seprulewidth}}\end{center}}
     
 %    \end{macrocode} 
-% The use of |\AtBeginDocument| is necessary in the |\correct| macro because 
-% |\correctname| could be redefined by \textsf{babel} at |\begin{document}|.
 %
-% \bigskip
 % \subsection{Basic styles}
 %
 % In the \textbf{classic} style, the header is displayed on two lines, 
@@ -832,7 +857,7 @@
     \cfoot{\footstyle \thepage /\pageref{LastPage}}
     \setlength{\titletopskip}{-0.67cm}
     \renewcommand{\maketitle}[1][\seprulelength]{%
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{\titleflush}
             {\color{titlecolor}\titlestyle{\@title}}
             \par\vspace{0.5\titlesep}
@@ -841,7 +866,7 @@
         \vspace{\titlebottomskip} 
     }
     \renewcommand{\makesmalltitle}{
-        \mbox{}\par\vspace{\smalltitletopskip}
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -879,7 +904,7 @@
         \headdatestyle\@date\ignorespaces}{}
     }
     \renewcommand{\maketitle}[1][\seprulelength]{% 
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{\titleflush}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -893,7 +918,7 @@
         \vspace{\titlebottomskip} 
     }
     \renewcommand{\makesmalltitle}{
-        \mbox{}\par\vspace{\smalltitletopskip}
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -922,7 +947,7 @@
     }
     \setlength{\titletopskip}{-0.67cm}
     \renewcommand{\maketitle}[1][\seprulelength]{%
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{\titleflush}
             {\color{titlecolor}\titlestyle{\@title}}
             \par\vspace{0.5\titlesep}
@@ -931,7 +956,7 @@
         \vspace{\titlebottomskip} 
     }
     \renewcommand{\makesmalltitle}{
-        \mbox{}\par\vspace{\smalltitletopskip}
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -973,18 +998,22 @@
     \setlength{\titlesep}{2\bigskipamount}
     \renewcommand{\titlestyle}{\LARGE\MakeUppercase}
     \renewcommand{\subjectstyle}{\Large\bfseries}
+    \let\subtitlestyle\relax
     \newcommand{\subtitlestyle}{\large\slshape}
+    \let\titlecorrectstyle\relax
     \newcommand*{\titlecorrectstyle}{\color{red}\large\scshape}
     \renewcommand\correct{%
         \let\@originalheadtitle\@headtitle
         \def\@headtitle{\@originalheadtitle ~--~\correctname}
-        \@ifpackageloaded{hyperref}{%
-            \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
+        \ifx\@onlypreamble\@notprerr\else
+            \@ifpackageloaded{hyperref}{%
+                \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
+        \fi
         \renewcommand{\subtitlestyle}{\titlecorrectstyle}
         \subtitle{\correctname}
     }
     \renewcommand{\maketitle}[1][\seprulelength]{%
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -1004,7 +1033,11 @@
 
 \fancypagestyle{collection}{%
     \lhead{\headstyle\headtitlestyle\@headtitle}
-    \AtBeginDocument{\renewcommand{\sectionmark}[1]{\markboth{##1}{}}}
+    \ifx\@onlypreamble\@notprerr
+        \renewcommand{\sectionmark}[1]{\markboth{##1}{}}
+    \else
+        \AtBeginDocument{\renewcommand{\sectionmark}[1]{\markboth{##1}{}}}
+    \fi
     \rhead{\headstyle\headsubjectstyle\leftmark} %\@section
     \lfoot{\footstyle\schoolstyle \@school}
     \cfoot{}
@@ -1017,7 +1050,7 @@
     \renewcommand{\datestyle}{\Large}
     \renewcommand{\maketitle}[1][\seprulelength]{%
         \thispagestyle{empty}
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}

Modified: trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.ins
===================================================================
--- trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.ins	2024-02-01 21:06:11 UTC (rev 69658)
+++ trunk/Master/texmf-dist/source/latex/schooldocs/schooldocs.ins	2024-02-01 21:06:24 UTC (rev 69659)
@@ -1,5 +1,5 @@
 %%
-%% Copyright (C) 2020-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+%% Copyright (C) 2020-2024 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 %%
 %% This file may be distributed and/or modified under the conditions of
 %% the LaTeX Project Public License, either version 1.3 of this license
@@ -21,7 +21,7 @@
 
 This is a generated file.
 
-Copyright (C) 2020-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+Copyright (C) 2020-2024 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 
 This file may be distributed and/or modified under the conditions of
 the LaTeX Project Public License, either version 1.3 of this license

Modified: trunk/Master/texmf-dist/tex/latex/schooldocs/schooldocs.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/schooldocs/schooldocs.sty	2024-02-01 21:06:11 UTC (rev 69658)
+++ trunk/Master/texmf-dist/tex/latex/schooldocs/schooldocs.sty	2024-02-01 21:06:24 UTC (rev 69659)
@@ -8,7 +8,7 @@
 %% 
 %% This is a generated file.
 %% 
-%% Copyright (C) 2020-2023 by Antoine Missier <antoine.missier at ac-toulouse.fr>
+%% Copyright (C) 2020-2024 by Antoine Missier <antoine.missier at ac-toulouse.fr>
 %% 
 %% This file may be distributed and/or modified under the conditions of
 %% the LaTeX Project Public License, either version 1.3 of this license
@@ -22,7 +22,7 @@
 %% 
 \NeedsTeXFormat{LaTeX2e}[2005/12/01]
 \ProvidesPackage{schooldocs}
-    [2023/12/28 v1.4 .dtx Layout styles for school documents]
+    [2024/01/31 v1.5 .dtx Layout styles for school documents]
 \@ifpackageloaded{geometry}{}{\RequirePackage{geometry}}
 \let\footruleskip\relax % because the memoir class uses it
 \RequirePackage{fancyhdr}
@@ -66,16 +66,21 @@
 \newcommand*\correctname{\GetTranslation{schooldocs-correct}}
 \newcommand*\identityname{\GetTranslation{schooldocs-name}}
 
+
 \renewcommand{\title}[2][]{\long\def\@title{#2}
     \ifthenelse{\equal{#1}{}}{\def\@headtitle{#2}}{\def\@headtitle{#1}}
-    \@ifpackageloaded{hyperref}{\hypersetup{pdftitle={\@headtitle}}}{}
+    \ifx\@onlypreamble\@notprerr\else
+        \@ifpackageloaded{hyperref}{\hypersetup{pdftitle={\@headtitle}}}{}
+    \fi
 }
 \title{}
 \author{}
 
 \newcommand\school[1]{\long\def\@school{#1}
-    \@ifpackageloaded{hyperref}{
-        \hypersetup{pdfauthor={\@author\ (\@school)}}}{}
+    \ifx\@onlypreamble\@notprerr\else
+        \@ifpackageloaded{hyperref}{
+            \hypersetup{pdfauthor={\@author\ (\@school)}}}{}
+    \fi
 }
 \school{}
 \newcommand{\institute}{\school}
@@ -83,7 +88,9 @@
 \let\subject\relax
 \newcommand{\subject}[2][]{\long\def\@subject{#2}
     \ifthenelse{\equal{#1}{}}{\def\@headsubject{#2}}{\def\@headsubject{#1}}
-    \@ifpackageloaded{hyperref}{\hypersetup{pdfsubject={\@headsubject}}}{}
+    \ifx\@onlypreamble\@notprerr\else
+        \@ifpackageloaded{hyperref}{\hypersetup{pdfsubject={\@headsubject}}}{}
+    \fi
 }
 \def\@subject{}
 \def\@headsubject{}
@@ -122,45 +129,52 @@
     {\vspace{-2ex}\rule{\headwidth}{\headrulewidth}}
 }
 
-\renewcommand{\maketitle}[1][\seprulelength]{
-    \mbox{}\par\vspace{\titletopskip}
-    \begin{\titleflush}
-        {\color{titlecolor}
-        {\titlestyle{\@title}}
-        \ifx\@subject\@empty\else
-            \par\vspace{\titlesep}\subjectstyle\@subject
-        \fi
-        \ifthenelse{\equal{\@date}{}}{}{%
-            \par\vspace{0.5\titlesep} \datestyle\@date}
-        \par\vspace{0.5\titlesep}
-        }
-        \ifthenelse{\lengthtest{#1 > 0cm}}{\rule{#1}{\seprulewidth}}{}
-    \end{\titleflush}
-    \vspace{\titlebottomskip}
-}
+\newcommand{\schooldocstitles}{
+    \renewcommand{\maketitle}[1][\seprulelength]{
+        \newpage\mbox{}\par\vspace{\titletopskip}
+        \begin{\titleflush}
+            {\color{titlecolor}
+            {\titlestyle{\@title}}
+            \ifx\@subject\@empty\else
+                \par\vspace{\titlesep}\subjectstyle\@subject
+            \fi
+            \ifthenelse{\equal{\@date}{}}{}{%
+                \par\vspace{0.5\titlesep} \datestyle\@date}
+            \par\vspace{0.5\titlesep}
+            }
+            \ifthenelse{\lengthtest{##1 > 0cm}}{\rule{##1}{\seprulewidth}}{}
+        \end{\titleflush}
+        \vspace{\titlebottomskip}
+    }
 
-\newcommand{\makesmalltitle}{
-    \mbox{}\par\vspace{\smalltitletopskip}
-    \begin{center}
-        {\color{titlecolor}
-        {\titlestyle{\@title}}
-        \hfill \subjectstyle\@subject
-        \ifthenelse{\equal{\@date}{}}{}{%
-            \enskip --\enskip \smalltitledatestyle\@date}
-        }
-        \rule{\linewidth}{\seprulewidth}
-    \end{center}
-    \vspace{\titlebottomskip}
-}
+    \let\makesmalltitle\relax
+    \newcommand{\makesmalltitle}{
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
+        \begin{center}
+            {\color{titlecolor}
+            {\titlestyle{\@title}}
+            \hfill \subjectstyle\@subject
+            \ifthenelse{\equal{\@date}{}}{}{%
+                \enskip --\enskip \smalltitledatestyle\@date}
+            }
+            \rule{\linewidth}{\seprulewidth}
+        \end{center}
+        \vspace{\titlebottomskip}
+    }
 
-\newcommand\correct{%
-    \let\@originalheadtitle\@headtitle
-    \def\@headtitle{\@originalheadtitle ~--~\correctname}
-    \@ifpackageloaded{hyperref}{%
-        \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
-    \let\@originaltitle\@title
-    \def\@title{\@originaltitle ~--~\correctname}
+    \let\correct\relax
+    \newcommand\correct{%
+        \let\@originalheadtitle\@headtitle
+        \def\@headtitle{\@originalheadtitle ~--~\correctname}
+        \ifx\@onlypreamble\@notprerr\else
+            \@ifpackageloaded{hyperref}{%
+                \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
+        \fi
+        \let\@originaltitle\@title
+        \def\@title{\@originaltitle ~--~\correctname}
+    }
 }
+\schooldocstitles
 
 \newcommand{\seprule}[1][\seprulelength]{\begin{center}
     \raisebox{0.25\baselineskip}{\rule{#1}{\seprulewidth}}\end{center}}
@@ -175,7 +189,7 @@
     \cfoot{\footstyle \thepage /\pageref{LastPage}}
     \setlength{\titletopskip}{-0.67cm}
     \renewcommand{\maketitle}[1][\seprulelength]{%
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{\titleflush}
             {\color{titlecolor}\titlestyle{\@title}}
             \par\vspace{0.5\titlesep}
@@ -184,7 +198,7 @@
         \vspace{\titlebottomskip}
     }
     \renewcommand{\makesmalltitle}{
-        \mbox{}\par\vspace{\smalltitletopskip}
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -222,7 +236,7 @@
         \headdatestyle\@date\ignorespaces}{}
     }
     \renewcommand{\maketitle}[1][\seprulelength]{%
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{\titleflush}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -236,7 +250,7 @@
         \vspace{\titlebottomskip}
     }
     \renewcommand{\makesmalltitle}{
-        \mbox{}\par\vspace{\smalltitletopskip}
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -265,7 +279,7 @@
     }
     \setlength{\titletopskip}{-0.67cm}
     \renewcommand{\maketitle}[1][\seprulelength]{%
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{\titleflush}
             {\color{titlecolor}\titlestyle{\@title}}
             \par\vspace{0.5\titlesep}
@@ -274,7 +288,7 @@
         \vspace{\titlebottomskip}
     }
     \renewcommand{\makesmalltitle}{
-        \mbox{}\par\vspace{\smalltitletopskip}
+        \newpage\mbox{}\par\vspace{\smalltitletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -311,18 +325,22 @@
     \setlength{\titlesep}{2\bigskipamount}
     \renewcommand{\titlestyle}{\LARGE\MakeUppercase}
     \renewcommand{\subjectstyle}{\Large\bfseries}
+    \let\subtitlestyle\relax
     \newcommand{\subtitlestyle}{\large\slshape}
+    \let\titlecorrectstyle\relax
     \newcommand*{\titlecorrectstyle}{\color{red}\large\scshape}
     \renewcommand\correct{%
         \let\@originalheadtitle\@headtitle
         \def\@headtitle{\@originalheadtitle ~--~\correctname}
-        \@ifpackageloaded{hyperref}{%
-            \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
+        \ifx\@onlypreamble\@notprerr\else
+            \@ifpackageloaded{hyperref}{%
+                \AtBeginDocument{\hypersetup{pdftitle={\@headtitle}}}}{}
+        \fi
         \renewcommand{\subtitlestyle}{\titlecorrectstyle}
         \subtitle{\correctname}
     }
     \renewcommand{\maketitle}[1][\seprulelength]{%
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}
@@ -342,7 +360,11 @@
 
 \fancypagestyle{collection}{%
     \lhead{\headstyle\headtitlestyle\@headtitle}
-    \AtBeginDocument{\renewcommand{\sectionmark}[1]{\markboth{##1}{}}}
+    \ifx\@onlypreamble\@notprerr
+        \renewcommand{\sectionmark}[1]{\markboth{##1}{}}
+    \else
+        \AtBeginDocument{\renewcommand{\sectionmark}[1]{\markboth{##1}{}}}
+    \fi
     \rhead{\headstyle\headsubjectstyle\leftmark} %\@section
     \lfoot{\footstyle\schoolstyle \@school}
     \cfoot{}
@@ -355,7 +377,7 @@
     \renewcommand{\datestyle}{\Large}
     \renewcommand{\maketitle}[1][\seprulelength]{%
         \thispagestyle{empty}
-        \mbox{}\par\vspace{\titletopskip}
+        \newpage\mbox{}\par\vspace{\titletopskip}
         \begin{center}
             {\color{titlecolor}
             {\titlestyle{\@title}}



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