summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/suftesi/suftesi.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/suftesi/suftesi.dtx')
-rw-r--r--macros/latex/contrib/suftesi/suftesi.dtx109
1 files changed, 60 insertions, 49 deletions
diff --git a/macros/latex/contrib/suftesi/suftesi.dtx b/macros/latex/contrib/suftesi/suftesi.dtx
index 9a8820cb6e..2ded276ca5 100644
--- a/macros/latex/contrib/suftesi/suftesi.dtx
+++ b/macros/latex/contrib/suftesi/suftesi.dtx
@@ -56,7 +56,7 @@ This work has the LPPL maintenance status "author-maintained".
%<class>\NeedsTeXFormat{LaTeX2e}[2005/12/01]
%<class>\ProvidesClass{suftesi}
%<*class>
- [2021/05/23 v3.1.1 A class for typesetting theses, books and articles]
+ [2021/06/05 v3.1.2 A class for typesetting theses, books and articles]
%</class>
%<*driver>
\documentclass[12pt]{ltxdoc}
@@ -338,7 +338,7 @@ cochineal,mathpazo,bera,amsthm}
%</driver>
% \fi
%
-% \CheckSum{5685}
+% \CheckSum{5683}
%
% \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
@@ -356,7 +356,8 @@ cochineal,mathpazo,bera,amsthm}
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
-% \changes{v3.1.1}{2021/05/23}{Redefined some boolean options. Renamed some private commands. Corrected a bug in headers numbering (\cmd{protect} removed). Disabled automatic partial ToC functionality. Improved \opt{fewfootnotes} option via \sty{zref}. Updated documentation.}
+% \changes{v3.1.2}{2021/06/05}{Corrected a bug with \opt{reverseauthortitle} option.}
+% \changes{v3.1.1}{2021/05/23}{Redefined some boolean options. Renamed some private commands. Corrected a bug in headers numbering (\cmd{protect} removed). Disabled automatic partial ToC functionality. Improved \opt{fewfootnotes} option via \sty{zref}. Updated documentation.}
% \changes{v3.1.0}{2021/05/20}{Replaced \cmd{val}\cmd{nr} with \cmd{suftesi@val}\cmd{suftesi@nr}. Corrected a bug with \cmd{maketitle} in \opt{collection} structure. New options \opt{partialtoc} and \opt{maketitlestyle}. New commands for customizing the partial ToC. New value \opt{justify} for \opt{quotestyle} option. Improved \opt{quotesize} option. Renamed the \opt{revauthortitle} option to \opt{reverseauthortitle}. The options \opt{titlefont}, \opt{authorfont}, \opt{reverseauthortitle} now work for every structure. Renewed documentation}
% \changes{v3.0.2}{2021/02/06}{Improved \opt{subsecstyle} and \opt{subsubsecstyle} options.}
% \changes{v3.0.1}{2021/01/27}{Maintenance release.}
@@ -941,6 +942,18 @@ cochineal,mathpazo,bera,amsthm}
% ^^A ----------------------------------------------------------------
%
% \begin{optionlist*}
+% \optitem[cochineal]{defaultfont}{\opt{none}\OR\opt{cochineal}\OR\opt{libertine}\OR\opt{palatino}\OR\opt{standard}}
+% \begin{valuelist}
+% \item[none] Does not load any font (default with
+% \hologo{XeLaTeX} or \hologo{LuaLaTeX}). Use this option
+% if you want full control over the font selection
+% \item[cochineal] Loads the Cochineal serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
+% \item[libertine] Loads the Linux Libertine serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
+% \item[palatino] Loads the New PX serif, the Linux Biolinum sans serif and the Inconsolata typewriter. Note that the New PX font does not provide support for Greek. The \opt{greekfont=artemisia} option offers a very good solution.
+% ^^A and {\fontfamily{artemisia}\selectfont Artemisia} by the {\fontfamily{artemisia}\selectfont Greek Font Society} for the greek text.
+% \item[standard] Loads the \sty{lmodern} package: Latin Modern font family and CB Greek.
+% \end{valuelist}
+%
% \optitem[10\OR 10pt]{fontsize}{\meta{dimen}}
% Sets the main font sizes for the document, changing the \cmd{baselineskip}
% accordingly. This option is based on the \sty{fontsize} package \parencite{fontsize}. The \meta{fontsize} can be given in any unit recognized
@@ -957,17 +970,7 @@ cochineal,mathpazo,bera,amsthm}
% \item[upper] Prints spaced \textsc{\lsstyle Small Capitals} with uppercase initials.
% \end{valuelist}
%
-% \optitem[cochineal]{defaultfont}{\opt{none}\OR\opt{cochineal}\OR\opt{libertine}\OR\opt{palatino}\OR\opt{standard}}
-% \begin{valuelist}
-% \item[none] Does not load any font (default with
-% \hologo{XeLaTeX} or \hologo{LuaLaTeX}). Use this option
-% if you want full control over the font selection
-% \item[cochineal] Loads the Cochineal serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
-% \item[libertine] Loads the Linux Libertine serif, the Linux Biolinum sans serif and the Inconsolata typewriter.
-% \item[palatino] Loads the New PX serif, the Linux Biolinum sans serif and the Inconsolata typewriter. Note that the New PX font does not provide support for Greek. The \opt{greekfont=artemisia} option offers a very good solution.
-% ^^A and {\fontfamily{artemisia}\selectfont Artemisia} by the {\fontfamily{artemisia}\selectfont Greek Font Society} for the greek text.
-% \item[standard] Loads the \sty{lmodern} package: Latin Modern font family and CB Greek.
-% \end{valuelist}
+%
% \end{optionlist*}
%
% ^^A ----------------------------------------------------------------
@@ -1128,7 +1131,7 @@ cochineal,mathpazo,bera,amsthm}
% ^^A
% ^^A ----------------------------------------------------------------
%
-% In the following option \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
+% In the following options \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
% \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}. You can see some
% combinations of these options in figure \ref{fig:fakechapter}.
%
@@ -1183,18 +1186,19 @@ cochineal,mathpazo,bera,amsthm}
%
% \changes{v2.9.3}{2020/001/29}{New commands to change the font of the section titles and numbers.}
%
-% The commands in this section are experimental. They provide a fast way to customize the format of section titles and numbers. Note that in some cases you will have to manually adjust the spacing accordingly, using \cmd{titlespacing}, \cmd{hskip}/\cmd{hspace}, \cmd{vskip}/\cmd{vspace}, and so on.
+% The commands in this section are experimental. They provide a fast way to customize the format of section titles and numbers. Note that in some cases you will have to manually adjust the spacing accordingly, using \cmd{titlespacing}, \cmd{hspace}, \cmd{vspace}, and so on.
+%
+% Below \meta{level} can be \opt{part},
+% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
%
% \begin{ltxsyntax}
% \cmditem*{\meta{level}font}{definition}
%
-% Changes the font of the \meta{level} title, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} title.
%
% \cmditem*{\meta{level}numfont}{definition}
%
-% Changes the font of the \meta{level} number, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} number.
%
% For example, if you used the \opt{chapfont=smallcaps} option, you can change the size of the chapter title accordingly with:
% \begin{latexcode}
@@ -1302,13 +1306,13 @@ cochineal,mathpazo,bera,amsthm}
% \end{valuelist}
% \optitem[roman]{toc\meta{level}font}{\opt{roman}\OR\opt{italic}\OR
% \opt{smallcaps}}
+% Where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
% \begin{valuelist}
% \item[roman] Prints the \meta{level} ToC entry in roman.
% \item[italic] Prints the \meta{level} ToC entry in \emph{italic}.
% \item[smallcaps] Prints the \meta{level} ToC entry
% in \textsc{\lsstyle spaced small caps}
% \end{valuelist}
-% Where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
% \optitem[all]{twocolcontents}{\opt{toc}\OR\opt{lof}\OR
% \opt{lot}\OR\opt{toclof}\OR\opt{toclot}\OR\opt{loflot}\OR\opt{all}}
% This option activates the \opt{tocstyle=ragged} option
@@ -1344,25 +1348,32 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \paragraph{General commands}\label{sec:toc:commands:general}
+% \paragraph{General commands}\label{sec:toc:commands:general}\mbox{}
% ^^A
% ^^A ----------------------------------------------------------------
%
+% Below \meta{level} can be \opt{part},
+% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+%
% \begin{ltxsyntax}
+%
% \cmditem*{toc\meta{level}font}{definition}
%
-% Changes the font of the \meta{level} title, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} title.
%
% \cmditem*{toc\meta{level}numfont}{definition}
%
-% Changes the font of the \meta{level} number, where \meta{level} can be \opt{part},
-% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
+% Changes the font of the \meta{level} number.
%
+% \end{ltxsyntax}
+%
+% Below \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}, \opt{fig}, \opt{tab}.
+%
+% \begin{ltxsyntax}
% \cmditem{toclabelwidth}{level}{dim}
% \changes{v0.9a}{2012/08/31}{New command \cmd{toclabelspace}}
%
-% Adds the \meta{dim} to the \meta{level} label in the table of contents, where \meta{level} can be \opt{part}, \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}, \opt{fig}, \opt{tab}. For example, when using \opt{chapnumstyle=Roman} you would probably need to adjust the width of the chapter label with |\toclabelwidth{chap}{1em}|.
+% Adds the \meta{dim} to the \meta{level} label in the table of contents. For example, when using \opt{chapnumstyle=Roman} you would probably need to adjust the width of the chapter label with |\toclabelwidth{chap}{1em}|.
%
% \cmditem*{tocpartname}{definition}\hfill default: \cmd{partname}
%
@@ -1388,7 +1399,7 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \paragraph{Partial ToCs}\label{sec:toc:partialtoc}
+% \paragraph{Partial ToCs}\label{sec:toc:partialtoc}\mbox{}
% ^^A
% ^^A ----------------------------------------------------------------
%
@@ -1410,11 +1421,11 @@ cochineal,mathpazo,bera,amsthm}
%
% Sets the font size of the partial ToC.
%
-% \cmditem*{partialtocbeforespace}{dimen}
+% \cmditem*{partialtocbeforespace}{dimen} \hfill default: |0pt|
%
% Sets the space before the partial ToC.
%
-% \cmditem*{partialtocafterpace}{dimen}
+% \cmditem*{partialtocafterpace}{dimen} \hfill default: |2|\cmd{baselineskip}
%
% Sets the space after the partial ToC.
%
@@ -1612,8 +1623,8 @@ cochineal,mathpazo,bera,amsthm}
%
% \optitem[true]{marginpar}{\opt{true}\OR\opt{false}}
% \begin{valuelist}
-% \item[true] Prints the marginal notes.
-% \item[false] Hide the marginal notes.
+% \item[true] Prints the marginal notes set with \cmd{marginpar}.
+% \item[false] Hide the marginal notes set with \cmd{marginpar}.
% \end{valuelist}
% \optitem[standard]{captionstyle}{\opt{standard}\OR\opt{sanserif}\OR\opt{italic}\OR\opt{smallcaps}}
% All these values print the caption in small size, changing the shape:
@@ -2418,6 +2429,7 @@ cochineal,mathpazo,bera,amsthm}
{book,article,collection}[book]{%
\ifcase\suftesi@nr\relax
% \disable@keys{}{secnumstyle}
+ \SUF@titlepagetrue
\def\SUF@chapswitch{\thechapter.}
\or
\suftesi@articletrue
@@ -2425,7 +2437,8 @@ cochineal,mathpazo,bera,amsthm}
\def\SUF@chapswitch{}
\or
\suftesi@collectiontrue
- \setkeys{}{headerstyle=authortitleinner}
+ \SUF@titlepagefalse
+ \setkeys{}{headerstyle=authortitleinner}
\def\SUF@chapswitch{}
\fi}
% \end{macrocode}
@@ -2445,11 +2458,13 @@ cochineal,mathpazo,bera,amsthm}
\fi}
% \end{macrocode}
% \paragraph{Other options}
+% The \opt{marginpar} option conflicts with the \sty{geometry} package
+% when it is declared without explicitly providing a value. To be fixed!
% \begin{macrocode}
-\define@boolkey[SUF]{}{marginpar}[true]{}
-\define@boolkey[SUF]{}{partpage}[true]{}
-\define@boolkey[SUF]{}{draftdate}[true]{}
-\define@boolkey[SUF]{}{titlepage}[true]{}
+\define@boolkey{}[SUF@]{marginpar}[true]{}
+\define@boolkey{}[SUF@]{partpage}[true]{}
+\define@boolkey{}[SUF@]{draftdate}[true]{}
+\define@boolkey{}[SUF@]{titlepage}[true]{}
% \end{macrocode}
% \subsubsection{Fonts}
% \paragraph{Roman fonts}
@@ -3109,7 +3124,7 @@ cochineal,mathpazo,bera,amsthm}
\suftesi@twocolumnlottrue
\setkeys{}{tocstyle=ragged}
\fi}
-\define@boolkey[SUF]{}{partialtoc}[true]{}
+\define@boolkey{}[SUF@]{partialtoc}[true]{}
% \end{macrocode}
% \paragraph{Table of contents font}
% \begin{macrocode}
@@ -3284,7 +3299,7 @@ cochineal,mathpazo,bera,amsthm}
\renewcommand\@makefntext{%
\textsuperscript{\@thefnmark}\hskip.3em}
\fi}
-\define@boolkey[SUF]{}{fewfootnotes}[true]{}
+\define@boolkey{}[SUF@]{fewfootnotes}[true]{}
% \end{macrocode}
% \paragraph{Captions}
% \begin{macrocode}
@@ -3677,7 +3692,6 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \subsubsection{Options processing}
% \begin{macrocode}
-\ProcessOptionsX[SUF]<>\relax
\ExecuteOptionsX<>{
structure=book,
pagelayout=standard,
@@ -3692,6 +3706,7 @@ cochineal,mathpazo,bera,amsthm}
quotesize=footnotesize,
quotestyle=center,
captionstyle=standard,
+ marginpar=true,
tocstyle=standard,
partstyle=left,
chapstyle=left,
@@ -5297,7 +5312,7 @@ cochineal,mathpazo,bera,amsthm}
\partialtocparlabelfont{}
\partialtocsubparlabelfont{}
\partialtocbeforespace{0pt}
-\partialtocafterspace{0pt}
+\partialtocafterspace{2\baselineskip}
\partialtocbeforecode{}
\partialtocaftercode{}
% \end{macrocode}
@@ -5595,7 +5610,7 @@ cochineal,mathpazo,bera,amsthm}
\SUF@authortitle@align
\let\footnote\thanks
\parindent=0pt
- {\SUF@second}%
+ {\SUF@second\par}%
\label{begin:\thearticle}
% \end{macrocode}
% Check if you don't use \sty{hyperrref} provided by Enrico Gregorio
@@ -5615,7 +5630,7 @@ cochineal,mathpazo,bera,amsthm}
{\SUF@tocTIT@font{\@headtitle}}}
\endgroup%
\par\nobreak\vspace{2ex}
- {\SUF@first%
+ {\SUF@first\par%
\vskip1.5cm}}%
}
% \newenvironment{article}
@@ -5715,9 +5730,7 @@ cochineal,mathpazo,bera,amsthm}
{\SUF@first\par}%
\vskip 3em%
{\lineskip .75em%
- \begin{tabular}[t]{c}%
- \SUF@second
- \end{tabular}\par}%
+ \SUF@second\par}%
\vskip 1.5em%
{\SUF@datefont\@date\par}%
\end{center}\par
@@ -5769,9 +5782,7 @@ cochineal,mathpazo,bera,amsthm}
{\SUF@first\par}%
\vskip 1.5em%
{\lineskip .5em%
- \begin{tabular}[t]{c}%
- \SUF@second\par
- \end{tabular}\par}%
+ \SUF@second\par}%
\vskip 1em%
{\SUF@datefont\@date\par}%
\end{center}%