summaryrefslogtreecommitdiff
path: root/macros/latex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2021-05-21 03:01:23 +0000
committerNorbert Preining <norbert@preining.info>2021-05-21 03:01:23 +0000
commit6a52d8839d334ac56f36195aa404fac667862830 (patch)
tree826593c6af503aaaf2691f8e96912485428ef595 /macros/latex
parent6d6c3b4ee419b9f485a213d2ece28b06e9ca2f7c (diff)
CTAN sync 202105210301
Diffstat (limited to 'macros/latex')
-rw-r--r--macros/latex/contrib/acrotex/README.md8
-rw-r--r--macros/latex/contrib/acrotex/doc/aeb_man.pdfbin2254268 -> 2255476 bytes
-rw-r--r--macros/latex/contrib/acrotex/doc/aeb_man.tex205
-rw-r--r--macros/latex/contrib/acrotex/doc/eformman.pdfbin999978 -> 999995 bytes
-rw-r--r--macros/latex/contrib/acrotex/doc/eformman.tex2
-rw-r--r--macros/latex/contrib/acrotex/examples/jquiztst.pdfbin354518 -> 126756 bytes
-rw-r--r--macros/latex/contrib/acrotex/examples/jquiztst.tex33
-rw-r--r--macros/latex/contrib/acrotex/exerquiz.dtx299
-rw-r--r--macros/latex/contrib/acrotex/insdljs.dtx6
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md15
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin1437526 -> 1441368 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.dtx31
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.pdfbin484705 -> 0 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx23
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin600972 -> 605429 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex83
-rw-r--r--macros/latex/contrib/suftesi/suftesi.dtx2775
-rw-r--r--macros/latex/contrib/suftesi/suftesi.pdfbin795474 -> 841881 bytes
-rw-r--r--macros/latex/contrib/suppose/README.md26
-rw-r--r--macros/latex/contrib/suppose/suppose-doc.pdfbin206016 -> 206852 bytes
-rw-r--r--macros/latex/contrib/suppose/suppose-doc.tex24
-rw-r--r--macros/latex/contrib/suppose/suppose.sty368
24 files changed, 2415 insertions, 1487 deletions
diff --git a/macros/latex/contrib/acrotex/README.md b/macros/latex/contrib/acrotex/README.md
index c3b3e38f71..e64297bc82 100644
--- a/macros/latex/contrib/acrotex/README.md
+++ b/macros/latex/contrib/acrotex/README.md
@@ -1,6 +1,6 @@
The AcroTeX eDucation Bundle (AeB)
Author: D. P. Story
-Dated: 2021-05-10
+Dated: 2021-05-15
AeB contains the following:
@@ -19,6 +19,12 @@ AeB contains the following:
6) Documentation for AeB (AcroTeX eDucatation Bundle) and eforms
(including insdljs and dljslib).
+What's New (2021-05-15)
+ exerquiz: Some bug fixes.
+ Defined the new insertAt key of the \bChoices command. See
+ http://www.acrotex.net/blog/?tag=enhanced-quizzes for discussion
+ and demo files.
+
What's New (2021-05-10)
web: added navibar* option
exerquiz: new option usealtadobe is passed to insdljs
diff --git a/macros/latex/contrib/acrotex/doc/aeb_man.pdf b/macros/latex/contrib/acrotex/doc/aeb_man.pdf
index 56bcb06275..1e187364ec 100644
--- a/macros/latex/contrib/acrotex/doc/aeb_man.pdf
+++ b/macros/latex/contrib/acrotex/doc/aeb_man.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/doc/aeb_man.tex b/macros/latex/contrib/acrotex/doc/aeb_man.tex
index 917be8589a..0969156c5e 100644
--- a/macros/latex/contrib/acrotex/doc/aeb_man.tex
+++ b/macros/latex/contrib/acrotex/doc/aeb_man.tex
@@ -17,7 +17,7 @@
%%\usepackage{times}
%\usepackage{timesNRMT}
-%\previewOn\pmpvOn
+% \previewOn\pmpvOn
\usepackage{aeb_mlink}
\usepackage{longtable,colortbl}
@@ -243,10 +243,10 @@
\university{{\AcroT} Software Development Team}
\email{dpstory@acrotex.net}
\versionLabel{Dated:}
-\version{2021/05/10}
+\version{2021/05/15}
\copyrightyears{1999-\the\year}
\nocopyright
-\prepared{2021/05/10}
+\prepared{2021/05/15}
\revisionLabel{Distribution Dated:}
\copyrightStatus{True}
@@ -4033,8 +4033,7 @@ this option.
\subsection{Options passed through to the \tops{\protect\pkg}{}{insdljs} package}
The following options are passed through to \pkg{insdljs}: \opt{nodljs},
-\opt{exercisesonly} (same as \opt{nodljs}), \opt{execAfter} (passes the
-option \opt{execJS}), and \opt{usealtadobe}.
+\opt{exercisesonly} (same as \opt{nodljs}), \opt{execJS}, and \opt{usealtadobe}.
\begin{comment}
If you are creating a document that is meant to be printed or your
@@ -5505,14 +5504,25 @@ command.
The commands \cs{bChoices} and \cs{eChoices} can be used within the
\env{answers} or \env{manswers} environment as part of a \texttt{shortquiz}
-or a \texttt{\hyperref[ss:GradedQuizzes]{quiz}} environment.
+or a \texttt{\hyperref[ss:GradedQuizzes]{quiz}} environment. The full syntax of \cs{bChoices}
+is as follows:
+\begin{Verbatim}[commandchars=!(),xleftmargin=\amtIndent]
+\bChoices[!ameta(n(!upshape|nCols=)n),random=!ameta(!upshape(true|false)),
+ insertAt=!ameta(n),label=!ameta(name)]
+\end{Verbatim}
+The \texttt{nCols} and \texttt{random} keys are discussed in
+Section~\ref{s:random}. Read about the key \texttt{insertAt} on the
+{\AcroTeX} Blog
+\href{http://www.acrotex.net/blog/?tag=enhanced-quizzes}{here}. The
+\texttt{label} key is used for cross referencing purposes and is not
+currently documented.
+\newtopic\indent
Concerning the example above, the argument of the \texttt{answers}
-environment is 4 which means we are going to use the tabular
-environment with 4 columns. Now within those 4 columns we are
-going to only use the first 2 columns (this is the optional
-argument of \cs{bChoices}). If the optional argument is removed
-from \cs{bChoices}, the choices are typeset in the with 4
+environment is 4 which means we are going to use the tabular environment with
+4 columns. Now within those 4 columns we are going to only use the first 2
+columns (this is the optional argument of \cs{bChoices}). If the optional
+argument is removed from \cs{bChoices}, the choices are typeset in the with 4
columns.
If the argument of \texttt{answers} or \texttt{manswers} is changed to 1, the
@@ -5876,11 +5886,12 @@ In this section, several commands are discussed that enhance the user experience
One way of making the short-quiz more interesting to the respondent is through
the tally box.
-\bVerb\takeMeasure{\string\answersEndHook\darg{\ameta{content}}}%
+\bVerb\takeMeasure{\string\setAnsEnvLinewidth\darg{\ameta{length}}}%
\begin{dCmd}[commandchars=!()]{\bxSize}
\sqTallyBox[!ameta(options)]
\sqTallyTotal[!ameta(options)]
\answersEndHook{!ameta(content)}
+\setAnsEnvLinewidth{!ameta(length)}
\sqClearButton[!ameta(options)]
\end{dCmd}
\eVerb The first (\cs{sqTallyBox}) tracks the number of times the respondent has
@@ -5896,7 +5907,7 @@ The example below illustrates all four of the commands. Within the
\begin{Verbatim}[xleftmargin=\amtIndent]
\answersEndHook{\hfill\makebox[0pt][r]{\sqTallyBox}}
\end{Verbatim}
-which means \cs{sqTallyBox} is insert to the right of the choice field, push
+which means \cs{sqTallyBox} is insert to the right of the choice field, pushed
to the right margin, then moved to the left using the 0pt width \cs{makebox}.
\begin{shortquiz*}
Correctly respond to each, passing is not making a single incorrect choice.
@@ -5958,13 +5969,14 @@ in a \env{shortquiz} environment.
\begin{aebQuote}
\begin{enumerate}
\item[MC] Nothing happens after the respondent selects the correct answer,
- s/he must press the new \uif{Ans} button to jump to the solution page.
- If the respondent presses the \uif{Ans} button before selecting the
- correct answer, an alert box appears with message determined by \cs{sqSolnMCMsg}.
-\item[MS] When the user has selected \emph{all correct answers}, s/he must press
- the new \uif{Ans} button in order to jump to the solution page. If the
- user presses the \uif{Ans} button before selecting all correct
- answers, an alert box appears with message determined by \cs{sqSolnMSMsg}.
+ the new \uif{Ans} button must be pressed to jump to the solution page. If
+ the respondent presses the \uif{Ans} button before selecting the correct
+ answer, an alert box appears with message determined by \cs{sqSolnMCMsg}.
+\item[MS] When the user has selected \emph{all correct answers}, the new
+ \uif{Ans} button must be pressed in order to jump to the solution page.
+ If the user presses the \uif{Ans} button before selecting all correct
+ answers, an alert box appears with message determined by
+ \cs{sqSolnMSMsg}.
\end{enumerate}
If a MC or MS question does not have a solution, the \uif{Ans} button is not
typeset into the document.
@@ -5999,111 +6011,13 @@ also how \cs{sqTallyBox} is inserted. In this document,
%!textsf( Alternate experience: Insert !cs(sqSolnBtn) and !cs(sqTallyBox))
\answersEndHook{\hfill\makebox[0pt][r]{\sqSolnBtn\sqTallyBox}}
\end{Verbatim}
-\begin{comment}
-The \cs{olBdry} is used to overlay the contiguous boundaries of the two
-button fields. Refer to the documentation, \texttt{eformman.pdf}, for the
-\pkg{eforms} and \pkg{insdljs} packages, which come with the \pkg{acrotex}
-bundle. \cs{answersEndHook} insert its content at the right margin, pushing
-it to the left; as a result, the content may overlay the text of the choice
-field. It is up to the document author, that's you, to design the layout of
-the choice field so the \cs{sqTallyBox} and/or the \cs{sqSolnBtn} does not
-overlay other content.
-
-\promoteNewPageHere[2\textheight]
-
-\paragraph*{A sample quiz to illustrate.}
-These new commands are illustrated in the following short-quiz.
-
-\begin{shortquiz*}
-Answer each of the following. Passing is to
-complete the quiz without selecting any wrong answers.
-
-\answersEndHook{\hfill\makebox[0pt][r]{\sqTallyBox}}
-
-\medskip\noindent
-Problems~1 and~2 are in the style \emph{traditional user experience} that has been
-used since the very beginning of \pkg{exerquiz}.
-
-\begin{questions}
-
-\item\label{MC} In what year did Columbus sail the ocean blue?
-\begin{answers}*{4}
-\bChoices
-\Ans0 1490\eAns
-\Ans0 1491\eAns
-\Ans1 1492\eAns
-\Ans0 1493\eAns
-\eChoices
-\end{answers}
-\begin{solution}
-Columbus sailed the ocean in 1492. It rhymes.
-\end{solution}
-
-\item\label{MS} Which of the following numbers are prime?
-\begin{manswers}*{4}\rowsep{3pt}
-\bChoices
- \Ans0 1\eAns
- \Ans1 2\eAns
- \Ans1 3\eAns
- \Ans0 4\eAns
- \Ans1 5\eAns
- \Ans0 6\eAns
- \Ans1 7\eAns
- \Ans0 8\eAns
-\eChoices
-\end{manswers}
-\begin{solution}
-Yes, 2, 3, 5, and 7; they are the first four prime numbers.
-\end{solution}
-
-\pushquestions Problems~3 and~4 are in the style \emph{alternate user experience}.
-
-\popquestions
-
-\answersEndHook{\hfill\makebox[0pt][r]{\sqSolnBtn\olBdry\sqTallyBox}}
-\item\label{Alt:MC} In what year did Columbus sail the ocean blue?
-\begin{answers}*{4}
-\bChoices
-\Ans0 1490\eAns
-\Ans0 1491\eAns
-\Ans1 1492\eAns
-\Ans0 1493\eAns
-\eChoices
-\end{answers}
-\begin{solution}
-Columbus sailed the ocean in 1492. It rhymes.
-\end{solution}
-
-\item\label{Alt:MS} Which of the following numbers are prime?
-\begin{manswers}*{4}\rowsep{3pt}
-\bChoices
- \Ans0 1\eAns
- \Ans1 2\eAns
- \Ans1 3\eAns
- \Ans0 4\eAns
- \Ans1 5\eAns
- \Ans0 6\eAns
- \Ans1 7\eAns
- \Ans0 8\eAns
-\eChoices
-\end{manswers}
-\begin{solution}
-Yes, 2, 3, 5, and 7; they are the first four prime numbers.
-\end{solution}
-\end{questions}
-\hfill\sqClearButton\olBdry\sqTallyTotal
-\end{shortquiz*}
-\end{comment}
-
% ?? revise after publication
-\exAeBBlogPDF{p=803} The discussion of the alternate viewing experience discussed in this section
-as well as the source markup for the above short quiz, can be found in the {\AcroTeX} Blog titled
-
-%Use the source file for
-%\texttt{\href{\urlAcroTeXBlog/?p=803}{webeqtst.pdf}} as a prototype or
-%template for your own document.
+%\exAeBBlogPDF{p=1489} Additional information, as well as working
+%examples of alternate viewing experiences, can be found in the {\AcroTeX}
+%Blog article \emph{An alternate user experience for viewing solutions to MC/MS
+%questions in a short-quiz.}
\subsubsection{The concept of weak and strong pass levels}
@@ -6123,18 +6037,18 @@ levels are set through the optional argument of \cs{sqTallyTotal}.
\begin{description}
\item[Weak passing level] Syntax: \cs{sqTallyTotal[\cs{weakpassing\darg{\ameta{n}}}]}\\[3pt]
\textbf{User Experience.} As soon as the student makes more than
-\ameta{n} errors, the following message appears in an alert box:
+\ameta{n} errors, the following message appears in an alert dialog box:
\begin{Verbatim}
\flJSStr{\sqWeakMsg}{You have missed too many questions.
After you finish, it is recommended you retake this quiz
with fewer errors and greater understanding.}
\end{Verbatim}
-The student is allowed to continue the quiz, but with the knowledge that s/he
-is not performing to the expected standard, as set by the instructor.
+The student is allowed to continue the quiz, but with the knowledge the
+performance is below the expected standard, as set by the instructor.
\item[Strong passing level] Syntax: \cs{sqTallyTotal[\cs{strongpassing\darg{\ameta{n}}}]}\\[3pt]
\textbf{User Experience.} As soon as the student makes more than \ameta{n}
-errors, the following message appears in an alert box:
+errors, the following message appears in an alert dialog box:
\begin{Verbatim}
\flJSStr{\sqStrongMsg}{You have missed too many questions.
We are resetting the quiz. Start over, this time with
@@ -6142,14 +6056,23 @@ fewer errors and greater understanding.}
\end{Verbatim}
After the student dismisses the alert dialog box, the short-quiz s/he is
working is cleared. Perhaps this condition will inspire the student to
-spend more time and think about his/her responses.
+spend more time and think about the responses.
\end{description}
\end{aebQuote}
In both cases, \ameta{n} is a nonnegative integer.
% ?? revise after publication
-\exAeBBlogPDF{p=803} The discussion of the alternate viewing experience discussed in this section
-as well as the source markup for the above short quiz, can be found in the {\AcroTeX} Blog titled
+%\exAeBBlogPDF{p=1493} The additional discussion of weak and strong passing,
+%as well as working examples of each, can be found in the {\AcroTeX} Blog titled
+%\emph{Setting the passing level in a short-quiz}.
+
+\exAeBBlogPDF{p=tag=enhanced-quizzes} There is a series of four articles on
+enhancing the short-quiz on the {\AcroTeX} Blog. Follow the link set around
+the icon in the margin to obtain a listing of these articles. Additionally,
+the articles document two features of \pkg{exerquiz}: the \texttt{insertAt}
+key of \cs{bChoices} and \cs{setAnsEnvLinewidth}.
+
+
\subsection{Redesigning the
\tops{\protect\texttt{shortquiz}}{shortquiz} Environment}\label{sss:redefinesq}
@@ -6162,7 +6085,7 @@ titles and form elements.
You can temporarily change the title for the \texttt{shortquiz}
environment by redefining the macro \cs{sqlabel}; for example, the
-default definition of this macro is
+default definition of this macro is,
\begin{Verbatim}[xleftmargin=\amtIndent]
\newcommand\sqlabel{\textcolor{red}{Quiz.}}
\end{Verbatim}
@@ -8064,17 +7987,19 @@ for posing a \textit{single} question and will be used in this
section to discuss in detail the macros for posing mathematical
and text open questions.
-The syntax for the \texttt{oQuestion} environment is
-\begin{Verbatim}[xleftmargin=\amtIndent,commandchars=!()]
+The syntax for the \texttt{oQuestion} environment is,
+\bVerb\takeMeasure{\quad\ameta{A math or text open ended question}}%
+\begin{dCmd}[commandchars=!()]{\bxSize}
\begin{oQuestion}{!ameta(field_name)}
- !ameta(A math or text open ended question.)
+!quad!ameta(A math or text open ended question)
\end{oQuestion}
-\end{Verbatim}
-\noindent The environment takes one required argument, a unique name for the
+\end{dCmd}
+\eVerb The environment takes one required argument, a unique name for the
question. This name, \ameta{field\_name}, is used by other supporting macros.
-The \env{oQuestion} environment has one hook \cs{oqpriorhook} that is
-expanded just prior to the opening of the environment. If redefined, it is
-used once, then reset to its default empty definition.
+The \env{oQuestion} environment has one hook
+\FmtMP{\cs{oqpriorhook}}\cs{oqpriorhook} that is expanded just prior to the
+opening of the environment. If redefined, it is used once, then reset to its
+default empty definition.
\subsubsection{\tops{\protect\cs{RespBoxMath}}
{\textbackslash RespBoxMath}: The Math Question}\label{ss:respbox}
@@ -8842,7 +8767,7 @@ such a problem is marked by a human teacher, he/she may give full credit or
may dock the credit slightly.
Beginning with \pkg{exerquiz} dated 2020/11/11, the \cs{SpellCheck} command
-and the JavaScript function \texttt{checkTheSpelling()} are
+and the supporting JavaScript function \texttt{checkTheSpelling()} are
defined.\footnote{This feature was suggested to me by Thorsten G.} This a
feature allows the student to use the spell checking of \app{Adobe Reader} to
inspect each word and to optionally change the word to one of the words
@@ -9252,7 +9177,7 @@ KV-pairs of the \pkg{eforms} package. It only accepts these four keys:
its argument (\ameta{code}) to the keystroke event of all response boxes
(\cs{RespBoxMath}, \cs{RespBoxTxt}, and \cs{RespBoxTxtPC}).
- To distinguish between \env{shortquiz} (and \env{oQuestions}) and
+ To distinguish between \env{shortquiz} (and \env{oQuestion}) and
\env{quiz} environments, use the methods explained below in the
description of the \cs{AddAAMouseUpMC} key.
diff --git a/macros/latex/contrib/acrotex/doc/eformman.pdf b/macros/latex/contrib/acrotex/doc/eformman.pdf
index 6a74f299a9..ef8900e6de 100644
--- a/macros/latex/contrib/acrotex/doc/eformman.pdf
+++ b/macros/latex/contrib/acrotex/doc/eformman.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/doc/eformman.tex b/macros/latex/contrib/acrotex/doc/eformman.tex
index c56e1beb35..bc47220543 100644
--- a/macros/latex/contrib/acrotex/doc/eformman.tex
+++ b/macros/latex/contrib/acrotex/doc/eformman.tex
@@ -82,7 +82,7 @@
subject={Documentation for the eforms and insdljs packages},
talksite={\url{www.acrotex.net}},
version={2.0},
- prepared={2021/05/10},
+ prepared={2021/05/15},
preparedLabel={Distribution Dated:},
keywords={LaTeX, hyperref, PDF, exercises, quizzes},
copyrightStatus=True,
diff --git a/macros/latex/contrib/acrotex/examples/jquiztst.pdf b/macros/latex/contrib/acrotex/examples/jquiztst.pdf
index 2646de183c..7d18e4ebfe 100644
--- a/macros/latex/contrib/acrotex/examples/jquiztst.pdf
+++ b/macros/latex/contrib/acrotex/examples/jquiztst.pdf
Binary files differ
diff --git a/macros/latex/contrib/acrotex/examples/jquiztst.tex b/macros/latex/contrib/acrotex/examples/jquiztst.tex
index 28031e9662..eba2884dd7 100644
--- a/macros/latex/contrib/acrotex/examples/jquiztst.tex
+++ b/macros/latex/contrib/acrotex/examples/jquiztst.tex
@@ -33,15 +33,14 @@ Department of Mathematics}
% the quiz is evaluated.
%\renewcommand\minQuizResp{highThreshold}
-\font\hv=cmtt10 \def\hvperk{\char`^}
-%\font\hv=hv at 9pt \def\hvperk{\char142 }
+% The following is to create a \js command in which JavaScript code
+% can be written, without the use of the \verb command. Merely cosmetic.
+\def\hvperk{\char`^}
{\catcode`\^=\active
- \gdef\js{\bgroup\hv\catcode`\^=\active \let^=\hvperk \jsi}
+ \gdef\js{\bgroup\ttfamily\catcode`\^=\active \let^=\hvperk \jsi}
}\def\jsi#1{#1\egroup}
-\def\hr#1{\textcolor{red}{#1}}
-\def\hb#1{\textcolor{blue}{#1}}
-
+% Some convenience commands for differentiation.
\def\D{\dfrac {\text{d}}{\text{d}x}}
\def\dPose#1{$\D#1=$ }
@@ -115,7 +114,7 @@ typing error. The JavaScript routines will also check for
unbalanced parentheses; thus, \js{((x^4+1) + sin(x)^2} will be
flagged as a syntax error.
-\medskip\noindent\hr{\textbf{Important:}} When you enter a function
+\medskip\noindent\textcolor{red}{\textbf{Important:}} When you enter a function
of a single variable---the only type currently supported---use as
the independent variable implied by the statement of the problem.
If the problem statement involves the variable $x$, use \js{x} as
@@ -149,9 +148,12 @@ brief discussion.
\subsection{Practice Example}
-\noindent\hb{\textbf{Example:}} Consider the following sample question.
+\noindent\textcolor{blue}{\textbf{Example:}} Consider the following sample question.
Practice by typing in the answer:
-\js{2*x^3*(x^4+1)^(-1/2)}
+\js{2*x^3*(x^4+1)^(-1/2)}.
+
+You can also type \js{2x^3(x^4+1)^(-1/2)} since the
+\texttt{ImplMulti} option is taken with the \textsf{dljslib} package.
\medskip
\begin{oQuestion}{example}
@@ -162,17 +164,17 @@ Practice by typing in the answer:
\noindent$\dfrac{\text{d}}{\text{d}x} {(x^4 + 1)^{1/2}} =
\eqsanitize
\underset{\text{\rotatebox{-45}{\rlap{The Response Box}}}}
- {\underbrace{\STRUT\efKern{1bp}{0bp}
- \RespBoxMath{2*x^3*(x^4+1)^(-1/2)}{4}{.0001}{[1,2]}\relax\efKern{1bp}{0bp}}}\kern-1bp
+ {\underbrace{\RespBoxMath{2*x^3*(x^4+1)^(-1/2)}{4}{.0001}{[1,2]}}}
\underset{\text{\rotatebox{-45}{\rlap{Answer Button}}}}
- {\underbrace{\STRUT\efKern{1bp}{0bp}\CorrAnsButton{2*x^3*(x^4+1)^(-1/2)}\efKern{1bp}{0bp}}}\kern-1bp
+ {\underbrace{\cgBdry\CorrAnsButton{2*x^3*(x^4+1)^(-1/2)}}}
\underset{\text{\rotatebox{-45}{\rlap{Num.\ of incorrect tries}}}}
- {\underbrace{\STRUT\efKern{1bp}{0bp}\sqTallyBox\relax\efKern{1bp}{0bp}}}\olBdry\efKern{-1bp}{0bp}\sqClearButton$
+ {\underbrace{\olBdry\sqTallyBox\relax}}\olBdry\sqClearButton$
\end{oQuestion}
\vspace{5\bigskipamount}
+\noindent
When a correct answer is input into the response box, the color of
the border surrounding the response box changes to \textcolor{webgreen}{green}.
The answer can also be expressed correctly using the \js{sqrt}
@@ -227,12 +229,9 @@ Or, in the syntax of this quiz: \js{-2*t^(-3/2)}.
\item $\displaystyle\int_0^\pi \sin(x)\,dx
= \RespBoxMath{2}{1}{.0001}{[0,1]}$\hfill\CorrAnsButton{2}\olBdry\sqTallyBox
\end{questions}
+\hfill\sqClearButton\olBdry\sqTallyTotal
\end{shortquiz*}
-\begin{flushright}
-\sqClearButton\olBdry\sqTallyTotal
-\end{flushright}
-
\subsection{Quiz Environment}\label{s:quiz}
diff --git a/macros/latex/contrib/acrotex/exerquiz.dtx b/macros/latex/contrib/acrotex/exerquiz.dtx
index d73c3efdb6..3890683a5c 100644
--- a/macros/latex/contrib/acrotex/exerquiz.dtx
+++ b/macros/latex/contrib/acrotex/exerquiz.dtx
@@ -22,7 +22,7 @@
%<randomize>\ProvidesFile{aebrandom.def}
%<sumrytbls>\ProvidesFile{aebsumrytbls.def}
%<template>\ProvidesFile{template.def}
-%<package|driver|aebjs|eqexam|randomize|sumrytbls|template> [2021/05/10 v8.7.7 %
+%<package|driver|aebjs|eqexam|randomize|sumrytbls|template> [2021/05/15 v8.8 %
%<package> Exerquiz: Exercises and Quizzes for LaTeX/PDF package (dps)]
%<driver> Exerquiz documentation driver file (dps)]
%<aebjs> Exerquiz document level JavaScript (dps)]
@@ -74,6 +74,7 @@
\let\env\texttt\let\pkg\textsf
\let\app\textsf
\let\tops\texorpdfstring
+ \let\key\texttt
\GetFileInfo{exerquiz.sty}
\title{Exerquiz: Exercises and Quizzes for \LaTeX/PDF}
\author{D. P. Story\\
@@ -277,7 +278,7 @@
\DeclareOption{nodljs}{\PassOptionsToPackage{nodljs}{insdljs}%
\AtEndOfPackage{\let\importdljs\eq@YES}}
% \end{macrocode}
-% \leavevmode\IndexOpt{execAfter}^^A
+% \leavevmode\IndexOpt{execJS}^^A
% Execute any JS defined within the \env{execJS} environment. Works only for
% authors using Acrobat 5.0 or Acrobat Approval.
% \begin{macrocode}
@@ -3945,6 +3946,96 @@
%
% \section{The \texttt{shortquiz} and \texttt{shortquiz*} Environments}
%
+% \subsection{Preliminaries}
+% Beginning with 2021/05/15 v8.7, we introduce several changes that affect
+% both \env{shortquiz} and \env{quiz} environments. These definitions are
+% placed here.
+% \changes{v8.7}{2021/05/15}{Enhanced control over placement of \string\cs{eq@answersEndHook}}
+%
+% These definitions support the added control over the \ameta{content} placed by the
+% command \cs{answersEndHook\darg{\ameta{content}}}. The \ameta{content} argument is
+% usally a combination of \cs{sqTallyBox} and \cs{sqSolnBtn} commands, but can be anything.
+%
+% Another aspect of the change is the \cs{setAnsEnvLinewidth}. Through this command, the
+% value of \cs{linewidth} can be changed within the \env{answers} and \env{manswers} environmnts.
+% \begin{macro}{\setAnsEnvLinewidth}\hskip-\marginparsep\,\texttt{\darg{\ameta{length}}} Sets the
+% \cs{linewidth} of the \env{answers} and \env{manswers} for both the \env{list} and \env{tabular} modes.
+% It it not shown here, but within each of these envioronments, before the change is made
+% the ``natural'' \cs{linewidth} is saved as \DescribeMacro\natlinewidth\cs{natlinewidth},
+% this value is available only locally, within the environments.
+%
+% All changes corresponding to enhanced control over placement of \ameta{content} are marked in the source
+% by \texttt{dps21-5-15}, \texttt{dps21-5-16}, and \texttt{dps21-5-17}.
+% \begin{macrocode}
+\def\setAnsEnvLinewidth#1{\def\@nsLineWidth{#1}} % dps21-5-17
+\let\@nsLineWidth\@empty % dps21-5-17
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\answersEndHook}\hskip-\marginparsep\,\texttt{\darg{\ameta{content}}}
+% Internally, defines the text macro \cs{eq@answersEndHook} to expand to \ameta{content}.
+% The command also defines text macro \cs{insertAnsEndHookHere} to expand to \ameta{content}.
+% \cs{eq@answsersEndHook} is used when placing \ameta{content} in the default location;
+% while \cs{insertAnsEndHookHere} is used to place \ameta{content} at the location specified
+% by the value of the \texttt{insertAt} key of the \cs{bChoices} command.
+% \begin{macrocode}
+\newcommand\answersEndHook[1]{\def\eq@answersEndHook{#1}%
+ \ifx\eq@answersEndHook\@empty\else
+ \def\insertAnsEndHookHere{#1}%
+ \fi
+} % dps21-5-15
+\let\eq@answersEndHook\@empty
+\let\insertAnsEndHookHere\@empty % dps21-5-15
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+% \end{macrocode}
+% At the end of each of the targeted envionments, we insert \ameta{content},
+% provided a value for \texttt{insertAt} has not been specified; otherwise, we
+% do nothing as \ameta{content} has been inserted according to the value
+% of \texttt{insertAt}.
+% \begin{macrocode}
+\def\@insertAndHookAtEndEnv{% dps21-5-16
+ \ifx\insertAnsHookAt\@empty
+ \eq@answersEndHook
+ \else % dps21-5-16
+ \ifnum\insertAnsHookAt>\aeb@RowCnt
+ \eq@answersEndHook
+ \PackageWarning{exerquiz}{insertAt=\insertAnsHookAt:
+ The value (\insertAnsHookAt) of insertAt is greater\MessageBreak
+ than the number of rows (\aeb@RowCnt).
+ Using the default\MessageBreak
+ positioning instead}
+ \else
+% \end{macrocode}
+% Reset the value of \cs{insertAnsHookAt} to its default value. The document
+% author must specify \texttt{insertAt} for each \cs{eChoices} where a nondefault
+% placement is wanted.
+% \begin{macrocode}
+ \global\let\insertAnsHookAt\@empty
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \cs{@insertAnsHookAt} is inserted at the end of \cs{Ans}/\cs{eAns} pair;
+% the \ameta{content} is placed just after the text of this item.
+% \begin{macrocode}
+\def\@insertAnsHookAt{% dps21-5-16
+ \let\eqe@next\relax
+ \ifx\insertAnsHookAt\@empty\else
+ \ifnum\insertAnsHookAt=\aeb@RowCnt
+ \def\eqe@next{\insertAnsEndHookHere}\fi
+ \fi\eqe@next
+}
+% \end{macrocode}
+% Repetitive code to increment the \cs{aeb@RowCnt} macro.
+% \begin{macrocode}
+\def\@incRowCnt{{\@tempcnta\aeb@RowCnt\advance\@tempcnta\@ne
+ \xdef\aeb@RowCnt{\the\@tempcnta}}% dps21-5-16
+}
+% \end{macrocode}
+%
+% \subsection{The \texttt{shortquiz} environment}
+%
% This \texttt{shortquiz} environment sets up multiple choice
% questions, with immediate feedback whether the user clicked on the
% right or wrong answer. Solutions to the \texttt{shortquiz} may,
@@ -5921,6 +6012,13 @@ if (isEndQuizPushed("@eqBaseName")){
\let\endanswers\endanswers@sq@list\else
\let\endmanswers\endanswers@sq@list\fi
\list{\strut\@Ans}{%
+% \end{macrocode}
+% Save the natural width of the line, then readjust the
+% width if \cs{@nsLineWidth} is not empty.
+% \begin{macrocode}
+ \edef\natlinewidth{\the\linewidth}% dps21-5-17
+ \ifx\@nsLineWidth\@empty\else % dps21-5-17
+ \setlength{\linewidth}{\@nsLineWidth}\fi
\if\sqstar*\relax
\settowidth{\labelwidth}{\eq@lw@f}\else
\settowidth{\labelwidth}{\eq@lw@l}\fi
@@ -5959,14 +6057,14 @@ if (isEndQuizPushed("@eqBaseName")){
% another for \texttt{exerquiz}.
% to the following.
% \begin{macrocode}
-% Begin joint package and eqexam
+% End joint package and eqexam
%</package|eqexam>
%<package> \setlength{\labelsep}{0pt}%
%<eqexam> \setlength{\labelsep}{0pt}%
%<*package|eqexam>
\def\Ans{\Ans@list}%
}% list
-}{\eq@answersEndHook\endlist\setcounter{quizno}{0}}
+}{\@insertAndHookAtEndEnv\endlist\setcounter{quizno}{0}} % dps21-5-16
% \end{macrocode}
% Answers environment for a tabular environment. This command picks
% up the arguments of \cs{Ans}, then passes on the \cs{@Ans}
@@ -6010,13 +6108,19 @@ if (isEndQuizPushed("@eqBaseName")){
% In the next line, we adjust \cs{linewidth}, \cs{eqemargin} is \texttt{0pt}
% in \textsf{exerquiz} and nonzero otherwise.
% \begin{macrocode}
-% \setlength{\linewidth}{\linewidth-\eqemargin}%
- \eq@tmpdima=\linewidth
+% \end{macrocode}
+% Save the natural width of the line, then readjust the
+% width if \cs{@nsLineWidth} is not empty.
+% \begin{macrocode}
+ \edef\natlinewidth{\the\linewidth}% dps21-5-17
+ \ifx\@nsLineWidth\@empty\else % dps21-5-17
+ \setlength{\linewidth}{\@nsLineWidth}\fi
+ \eq@tmpdima\linewidth
\@tempcnta#1\relax
% n-1
- \advance\@tempcnta-1\relax
+ \advance\@tempcnta\m@ne\relax
% 2(n-1)
- \multiply\@tempcnta by2
+ \multiply\@tempcnta\tw@
\@tempdima\sq@tabsep\relax
% 2*(n-1)*\eq@partstabcolsep
\multiply\@tempdima\@tempcnta
@@ -6059,23 +6163,25 @@ if (isEndQuizPushed("@eqBaseName")){
% Close off \texttt{tabular} environment, and re-initialize the
% \texttt{quizno} counter. Added \cs{answersEndHook}.
% \begin{macrocode}
-\newcommand\answersEndHook[1]{\def\eq@answersEndHook{#1}%
- \ifx\eq@answersEndHook\@empty\else
- \def\insertEndHookHere{#1}\fi}
-\let\eq@answersEndHook\@empty
\def\endanswers@sq{\endtabular\setcounter{quizno}{0}%
- \eq@answersEndHook\reset@doendpe{\the\everypar}%
- \ifinner\else%\par
- \removelastskip
-% \removelastparskip
- \vspace{\aboveanswersSkip}\@endpetrue\fi
+ \@insertAndHookAtEndEnv % dps21-5-16
+ \global\let\@nsLineWidth\@empty % dps21-5-17
+ \reset@doendpe{\the\everypar}%
+ \ifinner\else%\par
+ \removelastskip
+% \removelastparskip
+ \vspace{\aboveanswersSkip}\@endpetrue
+ \fi
}
\def\endmanswers@sq{\endtabular\setcounter{quizno}{0}%
- \eq@answersEndHook\reset@doendpe{\the\everypar}%
- \ifinner\else%\par
- \removelastskip
-% \removelastparskip
- \vspace{\aboveanswersSkip}\@endpetrue\fi
+ \@insertAndHookAtEndEnv % dps21-5-16
+ \global\let\@nsLineWidth\@empty % dps21-5-17
+ \reset@doendpe{\the\everypar}%
+ \ifinner\else%\par
+ \removelastskip
+% \removelastparskip
+ \vspace{\aboveanswersSkip}\@endpetrue
+ \fi
}
\def\popiiictm{\special{CTM: pop pop pop}}
%</package|eqexam>
@@ -6206,7 +6312,7 @@ false*fi;
var f=this.getField("corr.*oField.*thequestionno");
if (f==null) {
if ((qzSolnDest!="") && !solnAfter) %
- jmpToNamedDest("*oField","*@qzsolndest",%
+jmpToNamedDest("*oField","*@qzsolndest",%
*ifx*@sqTurnOffAlerts*eq@Zero0*else1*fi);%
*ifx*eqAddAAMouseUpMC*empty*else
*eqAddAAMouseUpMC*fi
@@ -6221,7 +6327,7 @@ if (f==null) {
OnBlurRespBox(false,"*oField");
*fi%
var qzSolnDest="*@qzsolndest";
-if( qzSolnDest!="") updateTally("*oField.*thequestionno");%
+updateTally("*oField.*thequestionno");%
*ifx*eqAddAAMouseUpMC*empty*else
*eqAddAAMouseUpMC*fi
\end{defineJS}
@@ -6561,6 +6667,13 @@ updateTally("*oField.*thequestionno");*fi%
\let\endanswers\endanswers@q@list\else
\let\endmanswers\endanswers@q@list\fi
\list{\strut\@Ans}{%
+% \end{macrocode}
+% Save the natural width of the line, then readjust the
+% width if \cs{@nsLineWidth} is not empty.
+% \begin{macrocode}
+ \edef\natlinewidth{\the\linewidth}% dps21-5-17
+ \ifx\@nsLineWidth\@empty\else % dps21-5-17
+ \setlength{\linewidth}{\@nsLineWidth}\fi
\if\qstar*\relax
\if\aeb@FLOverride\eq@l
\settowidth{\labelwidth}{\eq@lw@l}\else
@@ -6577,7 +6690,9 @@ updateTally("*oField.*thequestionno");*fi%
\setlength{\labelsep}{0pt}%
\def\Ans{\Ans@list}%
}%
-}{\eq@answersEndHook\endlist\setcounter{quizno}{0}%
+}{\endlist\setcounter{quizno}{0}%
+ \@insertAndHookAtEndEnv % dps21-5-17
+ \global\let\@nsLineWidth\@empty % dps21-5-17
\setdefault@Ans
\ifx\aeb@answerType\aeb@answerType@r
% \end{macrocode}
@@ -6603,7 +6718,14 @@ updateTally("*oField.*thequestionno");*fi%
\def\qzTabPos#1{\def\qz@TabPos{[#1]}}\qzTabPos{}
\def\answers@q@tabular#1{%
\ifinner\else\par\removelastparskip\vspace{\aboveanswersSkip}\fi
- \eq@tmpdima=\linewidth
+% \end{macrocode}
+% Save the natural width of the line, then readjust the
+% width if \cs{@nsLineWidth} is not empty.
+% \begin{macrocode}
+ \edef\natlinewidth{\the\linewidth}% dps21-5-17
+ \ifx\@nsLineWidth\@empty\else % dps21-5-17
+ \setlength{\linewidth}{\@nsLineWidth}\fi
+ \eq@tmpdima\linewidth
\@tempcnta#1\relax
% n-1
\advance\@tempcnta\m@ne
@@ -6630,7 +6752,8 @@ updateTally("*oField.*thequestionno");*fi%
% \begin{macrocode}
\def\endanswers@q@tabular{%
\endtabular\setcounter{quizno}{0}%
- \eq@answersEndHook
+ \@insertAndHookAtEndEnv % dps21-5-17
+ \global\let\@nsLineWidth\@empty % dps21-5-17
\setdefault@Ans
\ifx\aeb@answerType\aeb@answerType@r
% \end{macrocode}
@@ -7100,13 +7223,40 @@ updateTally("*oField.*thequestionno");*fi%
}
% \end{macrocode}
% \changes{v6.3x}{2011/04/05}{%
-% Added \string\texttt{label} parameter to \string\cs{bChoices}.
+% Added \string\texttt{label} parameter to \string\cs{bChoices}.
%}
-% A new key, \IndexKey{label}\texttt{label}, if this label is specified, then we keep track of all the
+% A new key, \IndexKey{label}\texttt{label=\ameta{name}}, if this label is specified, then we keep track of all the
% correct alternatives, put them into a commands to make them accessible by the user.
% \begin{macrocode}
\define@key{bchoice}{label}[]{\xdef\bChoiceLabel{#1}}
% \end{macrocode}
+% New key, \IndexKey{insertAt}\texttt{insertAt=\ameta{n}} inserts the content of
+% the \cs{answersEndHook\darg{\ameta{content}}} at line \ameta{n}.
+% \begin{macrocode}
+\def\rmFracPrt#1.#2\@nil{\gdef\intPrt{#1}}
+\define@key{bchoice}{insertAt}[]{%
+ \let\insertAtMsg\relax
+ \def\rmFr@cPrt##1.##2\@nil{\def\intP@rt{##1}}
+ \def\@rgi{#1}\ifx\@rgi\@empty
+ \def\insertAtMsg{\PackageWarning{exerquiz}
+ {An empty value for insertAt, will use\MessageBreak
+ the default positioning}}%
+ \else
+ \rmFr@cPrt#1.\@nil
+ \expandafter\@tempcnta\intP@rt\relax
+ \ifnum\@tempcnta<\@ne
+ \def\insertAtMsg{\PackageWarning{exerquiz}
+ {insertAt=#1: The value (#1) of insertAt must be\MessageBreak
+ greater than zero. Using the default\MessageBreak
+ positioning instead}}
+ \else
+ \xdef\insertAnsHookAt{\the\@tempcnta}
+ \fi
+ \fi
+ \insertAtMsg
+} % dps21-5-15
+\let\insertAnsHookAt\@empty
+% \end{macrocode}
% The \cs{bChoices} command is now processed by the \texttt{keyval} package. There
% are two keys: \texttt{nCols} and \texttt{random}. The first key
% sets the number of columns we are limited to; the second one obviously declares
@@ -7121,11 +7271,11 @@ updateTally("*oField.*thequestionno");*fi%
% \end{macrocode}
% We initialize some variables that the new label option uses.
% \begin{macrocode}
- \global\let\@tempholdSaveAns\@empty %4/5
- \global\let\@tempholdSaveChoice\@empty %4/5
- \global\let\bChoiceLabel\@empty %4/5
- \setkeys{bchoice}{#1}%
- \global\eq@tabColCnt=\z@
+ \global\let\@tempholdSaveAns\@empty
+ \global\let\@tempholdSaveChoice\@empty
+ \global\let\bChoiceLabel\@empty
+ \setkeys{bchoice}{#1}% dps21-5-15
+ \def\aeb@RowCnt{0}\global\eq@tabColCnt\z@
\ifnum\aeb@numCols=\@ne % list mode
\def\eq@next{\@layoutListAns}\else % tabular mode
\def\eq@next{\@layoutTabularAns{\bChoiceNumCols}}\fi
@@ -7284,12 +7434,14 @@ updateTally("*oField.*thequestionno");*fi%
% This command gets, and sets the list of alternatives
% \begin{macrocode}
\long\def\@getListAns\Ans#1\eAns{%\@@par
+ \@incRowCnt % dps21-5-16
% \end{macrocode}
% We record the list as we process each item.
% \begin{macrocode}
\eq@saveAns#1\eAns
- \Ans#1\vspace{\@rowskip}%
- \@layoutListAns
+ \Ans#1% dps21-5-15
+ \@insertAnsHookAt % dps21-5-16
+ \vspace{\@rowskip}\@layoutListAns
}
\long\def\@lookforendansChoices#1{%
\@ifnextchar\eChoices{\rowsep{\rowsep@default}%
@@ -7301,8 +7453,17 @@ updateTally("*oField.*thequestionno");*fi%
% environment.
% \begin{macrocode}
\def\@layoutTabularAns#1{%
+ \@incRowCnt % dps21-5-16
\let\eq@tabSep\@empty
\xdef\numShortCols{#1}%
+%\typeout{!! compare #1 with \aeb@numCols}%
+ \@tempcnta\aeb@numCols % dps21-5-16
+ \advance\@tempcnta-#1
+%\typeout{!! need \the\@tempcnta\space more tabs}%
+ \global\let\nAddT@bs\@empty
+ \@whilenum\@tempcnta>\z@\do
+ {\g@addto@macro\nAddT@bs{&}\advance\@tempcnta\m@ne}%
+%\toks@=\expandafter{\nAddT@bs}\typeout{!! \the\toks@}%
\ifnum#1>\aeb@numCols \xdef\numShortCols{\aeb@numCols}\fi
\@@layoutTabularAns
}
@@ -7323,16 +7484,21 @@ updateTally("*oField.*thequestionno");*fi%
\def\rowsep@default{0pt}
\long\def\@getTabAns\Ans#1\eAns{%
\eq@saveAns#1\eAns
- \global\advance\eq@tabColCnt1
- \let\@save@tabSep=\eq@tabSep
+ \global\advance\eq@tabColCnt\@ne % dps21-5-16
+ \let\@save@tabSep\eq@tabSep % dps21-5-16
\ifnum\eq@tabColCnt=\numShortCols
- \global\eq@tabColCnt=0
- \xdef\eq@tabSep{\noexpand\\\noalign{\kern\@rowskip\relax}}%
+ \global\eq@tabColCnt\z@ % dps21-5-16
+ \xdef\eq@tabSep{%
+ \noexpand\nAddT@bs
+ \noexpand\@insertAnsHookAt
+ \noexpand\\
+ \noalign{\kern\@rowskip\relax}\noexpand\@incRowCnt
+ }%
\else
- \gdef\eq@tabSep{&}%
+ \gdef\eq@tabSep{&}%
\fi
- \@ifnextchar\eChoices{\@save@tabSep\Ans#1\rowsep{\rowsep@default}
- \expandafter\@findendans\@gobble}%
+ \@ifnextchar\eChoices{\@save@tabSep\Ans#1\rowsep{\rowsep@default}%
+ \nAddT@bs\@insertAnsHookAt\expandafter\@findendans\@gobble}%
{\@save@tabSep\Ans#1\@@layoutTabularAns}%
}
% \end{macrocode}
@@ -7472,7 +7638,7 @@ updateTally("*oField.*thequestionno");*fi%
% that this list of choices should be randomized, a boolean.
%
% We redefine \cs{@ansChoices} above to take key-value optional arguments.
-% We allow for a global override of the random key. If random is true, we
+% We allow for a global override of the \key{random} key. If \key{random} is true, we
% call \cs{@@bChoices}, which begins the process of randomization; otherwise
% we call \cs{@@ansChoices} which is roughly equal to the earlier
% \cs{@ansChoices}.
@@ -7483,6 +7649,8 @@ updateTally("*oField.*thequestionno");*fi%
% }
% \changes{v8.6.2}{2021/01/20}{Incorporated \string\cs{if@DoNotRandomize}
% into the \string\cs{@ansChoices} macro for MC and MS questions}
+% \changes{v8.7}{2021/05/15}{Support for the \texttt{insertAt} key
+% of \cs{bChoices}; initialize macro \string\cs{aeb@numRows}}
% \begin{macrocode}
\def\@ansChoices[#1]{%
\global\let\@tempholdSaveAns\@empty
@@ -7491,7 +7659,8 @@ updateTally("*oField.*thequestionno");*fi%
\ifeq@randomizeallChoices
\setkeys{bchoice}{#1,random=true}\else
\setkeys{bchoice}{#1}\fi
- \global\eq@tabColCnt=\z@
+ \global\eq@tabColCnt\z@
+ \def\aeb@RowCnt{0}% dps21-5-15
\if@DoNotRandomize\eq@randomizeChoicesfalse\fi
\ifeq@randomizeChoices\expandafter\@@bChoices
\else\expandafter\@@ansChoices\fi
@@ -9028,7 +9197,7 @@ if(event.willCommit) {
% \begin{macro}{\RespBoxEssay}
% Here is a simple text field with a multi-line attribute for entering
% essay-type questions. This question will not be graded by JavaScript,
-% of course; ideally, the response will be submitted to a CGI for storage
+% of course; ideally, the response will be submitted to a server-side script for storage
% in a database. The instructor can later bring up the student's response
% and assign a grade. Syntax:
%\begin{quote}\ttfamily
@@ -9036,15 +9205,15 @@ if(event.willCommit) {
% \string\RespBoxEssay[\ameta{opts}]*\darg{\ameta{wd}}\darg{\ameta{ht}}
% \end{quote}
% The second argument declares the problem has a \env{solution} file; we define the target
-% of the solution twh ways: an explicit \ameta{dest} string, or an star (\texttt*), where
+% of the solution two ways: an explicit \ameta{dest} string or a star (\texttt*), where
% the destination is automatically named. If you use \ameta{dest}, you must have
-% a frist optional, even if its only \texttt{[]}, to correctly parse this construction.
+% a first optional argument \ameta{opts}, even if its only empty (\texttt{[]}), to correctly
+% parse this construction.
% \changes{v8.3}{2019/08/13}{\string\env{solution} environment now defined for
% \string\cs{RespBoxEssay}}
% \begin{macrocode}
-\def\RespBoxEssayDefaults
-{%
- \BC{0 0 0}\W{1}\S{S}\Ff{\FfMultiline}\rawPDF{}%
+\def\RespBoxEssayDefaults{%
+ \BC{0 0 0}\W{1}\S{S}\Ff{\FfMultiline}\rawPDF{}%
}
\def\@@RespBoxEssayActions{\AA{%
\if\eqQuizType\isQZ
@@ -9061,7 +9230,9 @@ if(event.willCommit) {
}%
\fi}%
}
-% \RespBoxEssay[opt][dest]|*{wd}{ht}
+% \end{macrocode}
+% Begin the \cs{RespBoxEassay} command.
+% \begin{macrocode}
\def\annot@subtype@rbe{rbe}
\newcommand\RespBoxEssay[1][]{\edef\annot@subtype{\annot@subtype@rbe}%
\def\rbe@rgi{#1}\RespBoxEssay@i}
@@ -9070,12 +9241,12 @@ if(event.willCommit) {
{\@ifstar{\RespBoxEssay@ii[\curr@quiz.\thequestionno]}}%
{\RespBoxEssay@ii[]}%
}
-% \RespBoxEssay#1[dest]{wd}{ht}
\newcommand\RespBoxEssay@ii[3][]{%
\smallskip\addtocounter{eqpointvalue}{\eqPTs}%
% \end{macrocode}
% (2019/06/26) Added \cs{eq@AddProbToQzQuesList} for \cs{RespBoxEssay}
-% \changes{v8.2.13}{2019/06/26}{Added \string\cs{eq@AddProbToQzQuesList} for \string\cs{RespBoxEssay}}
+% \changes{v8.2.13}{2019/06/26}{Added \string\cs{eq@AddProbToQzQuesList}
+% for \string\cs{RespBoxEssay}}
% \begin{macrocode}
\eq@AddProbToQzQuesList
\stepcounter{questionno}%
@@ -9100,14 +9271,8 @@ if(event.willCommit) {
% question. This box is not required to appear.
% \begin{macrocode}
\let\@@sqTallyBoxActions\@empty
-%\@ifundefined{calcOrder}{%
-%\ifpdf\def\@@sqTallyBoxActions{%
-% \AA{\AAValidate{getTotalTally("\oField");}}}\fi}{}
-%\ifpdf\def\@@sqTallyBoxActions{%
-% \AA{\AAValidate{getTotalTally("\oField");}}}\else
-% \let\@@sqTallyBoxActions\@empty\fi
\def\sqTallyBoxDefaults{%
- \BC{0 0 0}\W{1}\textColor{1 0 0 rg}\S{I}\Q{2}\Ff{\FfReadOnly}}
+ \BC{0 0 0}\W{1}\textColor{1 0 0 rg}\S{I}\Q{2}\Ff{\FfReadOnly}}
\newcommand\sqTallyBox[1][]{%
\mbox{\text@@Field{#1}{tally.\oField.\thequestionno}%
{\TBW}{\DefaultHeightOfWidget}%
@@ -9119,7 +9284,7 @@ if(event.willCommit) {
% \subsubsection{The \tops{\protect\cs}{\textbackslash}{sqTallyTotal} command}
% \begin{macro}{\sqTallyTotal}\hskip-\marginparsep\texttt{[\ameta{options}]}
% This text field stores the tally total. Only used within the
-% \texttt{shortquiz} environment. Takes on optional parameter; this
+% \env{shortquiz} environment. Takes on optional parameter; this
% parameter can be used to modify the appearance of the fields. Two special
% key-values are also recognized: \cs{weakpass\darg{\ameta{n}}} and \cs{strongpass\darg{\ameta{n}}}
% \begin{macrocode}
@@ -9144,10 +9309,11 @@ fewer errors and greater understanding.}
% \end{macrocode}
% The code that formats the field and if needed, responds to the weak-pass
% or strong-pass parameter.
+% \changes{v8.7.8}{2021/05/13}{Use try/catch (\string\cs{dlTC}) in number format.}
% \begin{macrocode}
\def\@@sqTallyTotalActions{\AA{%
\AAKeystroke{\dl@EForAF4Number_Keystroke(0,0,0,0,"",true);}
- \AAFormat{\dl@EForAF4Number_Format(0,0,0,0,"",true);}
+ \AAFormat{\dlTC{\dl@EForAF4Number_Format(0,0,0,0,"",true);}}
\AACalculate{%
\dl@EForAF4Simple_Calculate("SUM",new Array("tally.\oField"));\r
var sqTlyTotl=event.value;
@@ -9216,10 +9382,9 @@ fewer errors and greater understanding.}
% now, we say \string\texttt{this.getField("obj.\string\cs{oField}")}.
%}
% \begin{macrocode}
-\def\sqClearButtonDefaults
-{%
- \CA{\eq@local@sqClearButton}\textColor{0 g}\F{\FPrint}
- \BC{0 0 0}\BG{.7529 .7529 .7529}\W{1}\S{B}\Ff{\FfNoExport}
+\def\sqClearButtonDefaults{%
+ \CA{\eq@local@sqClearButton}\textColor{0 g}\F{\FPrint}
+ \BC{0 0 0}\BG{.7529 .7529 .7529}\W{1}\S{B}\Ff{\FfNoExport}
}
% \end{macrocode}
% In an attempt to supply some custom colors for the shortquiz, we
diff --git a/macros/latex/contrib/acrotex/insdljs.dtx b/macros/latex/contrib/acrotex/insdljs.dtx
index 8df2498415..7f848638de 100644
--- a/macros/latex/contrib/acrotex/insdljs.dtx
+++ b/macros/latex/contrib/acrotex/insdljs.dtx
@@ -16,7 +16,7 @@
%</copyright>
%<package>\NeedsTeXFormat{LaTeX2e}
%<package>\ProvidesPackage{insdljs}
-%<package> [2021/05/10 v2.5.3 Insert Document Level JavaScripts (dps)]
+%<package> [2021/05/13 v2.5.4 Insert Document Level JavaScripts (dps)]
%<*driver>
\documentclass{ltxdoc}
\usepackage[colorlinks,hyperindex=false]{hyperref}
@@ -931,9 +931,11 @@
% \end{macrocode}
% \paragraph*{Convenience command\DescribeMacro{\dl@EForAF4} that support \opt{usealtadobe} option.} This helper
% command make it convenient to switch from the `AF' to the `EF' versions.
-% \changes{v2.5.3}{2021/05/10}
+% \changes{v2.5.3}{2021/05/10}{Added \string\cs{dl@EForAF4}}
+% \changes{v2.5.4}{2021/05/13}{Added \string\cs{dl@EForAFMergeChange}}
% \begin{macrocode}
\def\dl@EForAF4#1_{\ifx\usedAdbFuncs\dl@YES EF\else AF\fi#1_}
+\def\dl@EForAFMergeChange{\ifx\usedAdbFuncs\dl@YES EF\else AF\fi MergeChange}
% \end{macrocode}
% \subsection{Some JavaScript Support}
%
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index dc30ec5d79..3215c8926b 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -1,4 +1,4 @@
-# Changelog
+Standard# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a
@@ -7,6 +7,16 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.0.3]
+
+### Changed
+- Documentation improvements
+
+### Fixed
+- Emulation of `input-symbols` (fixes #431)
+- Standard setting for `group-minimum-digits` (issue #436)
+- Application of negative color in table cells (issue #439)
+
## [v3.0.2]
### Changed
@@ -1270,7 +1280,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.2...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.3...HEAD
+[v3.0.3]: https://github.com/josephwright/siunitx/compare/v3.0.2...v3.0.3
[v3.0.2]: https://github.com/josephwright/siunitx/compare/v3.0.1...v3.0.2
[v3.0.1]: https://github.com/josephwright/siunitx/compare/v3.0.0...v3.0.1
[v3.0.0]: https://github.com/josephwright/siunitx/compare/v2.8e...v3.0.0
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index ca24d4d13e..16510233a4 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.dtx b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
index 5287f2c8cf..4ae6cd1590 100644
--- a/macros/latex/contrib/siunitx/siunitx-emulation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
@@ -358,6 +358,12 @@
{ group-digits ~ = ~ true }
{ group-digits ~ = ~ all }
} ,
+ input-symbols .code:n =
+ {
+ \msg_info:nnnn { siunitx } { option-deprecated }
+ { input-symbols } { input-digits }
+ \tl_put_right:Nn \l_@@_number_input_digit_tl {#1}
+ } ,
separate-uncertainty .choice: ,
separate-uncertainty / false .code:n =
{
@@ -984,6 +990,31 @@
% \end{macrocode}
% \end{macro}
%
+% Units that have been removed.
+% \begin{macrocode}
+\msg_new:nnnn { siunitx } { unit-removed }
+ { Unit~macro~#1~has~been~removed~in~this~release. }
+ {
+ The~BIPM~have~removed~this~unit~from~the~SI~Brochure.~
+ You~will~need~to~define~it~yourself~using~\token_to_str:N \DeclareSIUnit.
+ }
+\clist_map_inline:nn
+ {
+ \angstrom ,
+ \atomicmassunit ,
+ \bohr ,
+ \clight ,
+ \electronmass ,
+ \elementarycharge ,
+ \hartree ,
+ \plackbar
+ }
+ {
+ \siunitx_declare_unit:Nx #1
+ { \msg_error:nnn { siunitx } { unit-removed } { \token_to_str:N #1 } }
+ }
+% \end{macrocode}
+%
% \begin{macrocode}
%</interfaces>
% \end{macrocode}
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.pdf b/macros/latex/contrib/siunitx/siunitx-emulation.pdf
deleted file mode 100644
index b439f74a67..0000000000
--- a/macros/latex/contrib/siunitx/siunitx-emulation.pdf
+++ /dev/null
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index 45f8ad2562..3bedf3794c 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -3515,7 +3515,7 @@
expression = #1 ,
fixed-exponent = 0 ,
group-digits = all ,
- group-minimum-digits = 4 ,
+ group-minimum-digits = 5 ,
group-separator = \, , % (
input-close-uncertainty = ) ,
input-comparators = { <=>\approx\ge\geq\gg\le\leq\ll\sim } ,
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index 430a715710..f4ca1ec529 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -687,6 +687,26 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\@@_color_check:N}
+% \begin{macro}{\@@_color_check:w}
+% \begin{macro}{\@@_color_check:Nnw}
+% Handle the fact that splitting a number can leave a negative color
+% dangling.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_color_check:N #1
+ { \exp_after:wN \@@_color_check:w #1 \q_stop }
+\cs_new_protected:Npn \@@_color_check:w #1 \q_nil #2 \q_nil #3 \q_stop
+ {
+ \tl_if_head_eq_meaning:nNT {#2} \color
+ { \@@_color_check:Nnw #2 \q_stop }
+ }
+\cs_new_protected:Npn \@@_color_check:Nnw #1#2#3 \q_stop
+ { \keys_set:nn { siunitx } { number-color = #2 } }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% \begin{macro}{\@@_center_marker:}
% When centering on the decimal marker, the easiest approach is to simply
% re-box the two parts. That is needed whether or not we are parsing numbers,
@@ -938,6 +958,7 @@
{
\tl_set:Nx \l_@@_tmp_tl
{ \siunitx_number_output:NN \l_@@_model_tl \q_nil }
+ \@@_color_check:N \l_@@_tmp_tl
\exp_after:wN \@@_direct_format_aux:w
\l_@@_tmp_tl \q_stop
}
@@ -1102,6 +1123,7 @@
\siunitx_number_process:NN \l_@@_tmp_tl \l_@@_tmp_tl
\tl_set:Nx \l_@@_tmp_tl
{ \siunitx_number_output:NN \l_@@_tmp_tl \q_nil }
+ \@@_color_check:N \l_@@_tmp_tl
\exp_after:wN \@@_print_marker:w
\l_@@_tmp_tl \q_stop
\box_use_drop:N \l_@@_after_box
@@ -1174,6 +1196,7 @@
\exp_not:N \q_mark
\siunitx_number_output:NN \l_@@_tmp_tl \q_nil
}
+ \@@_color_check:N \l_@@_tmp_tl
\exp_after:wN \@@_print_format_auxi:w
\l_@@_tmp_tl \q_stop
\hbox_set:Nn \l_@@_tmp_box { \l_@@_after_model_tl }
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 9e4705dd4d..b8b6b79b02 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2021-05-19} {3.0.2}
+\ProvidesExplPackage {siunitx} {2021-05-20} {3.0.3}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index 9a362bf17c..2c3c742c94 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index e7035ee5c8..191e619490 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -706,6 +706,7 @@ standard \pkg{siunitx} settings only create these abbreviations within the
scope of the \cs{unit} and \cs{qty} functions, meaning that no clashes should
occur (for example with the standard \cs{pm} symbol).
\begin{center}
+ \tablecaption{Unit abbreviations}
\label{tab:unit:abbr}
\tablefirsthead{%
\toprule
@@ -2397,25 +2398,26 @@ to the layout of tabular material (Table~\ref{tab:opt:tables}).
\end{tabular}
\end{table}
-\DescribeOption{table-mode}
+\DescribeOption{table-alignment-mode}
The method used by \pkg{siunitx} to align numbers is selected using the
-\opt{table-mode} option, which may be one of \opt{marker}, \opt{format} or
-\meta{none}. With the standard setting, \meta{marker}, the package centers the
-decimal marker in a tabular column, potentially leaving white space at the
-shorter end of a number. The \meta{format} mode uses information from the
-\meta{table-format} key to construct a model: this is then used to define the
-space available to a number. For asymmetrical numbers, this method is strongly
-preferable. Finally, \opt{none} disables alignment entirely: numbers are simply
-parsed.
+\opt{table-alignment-mode} option, which may be one of \opt{marker},
+\opt{format} or \meta{none}. With the standard setting, \meta{marker}, the
+package centers the decimal marker in a tabular column, potentially leaving
+white space at the shorter end of a number. The \meta{format} mode uses
+information from the \meta{table-format} key to construct a model: this is then
+used to define the space available to a number. For asymmetrical numbers, this
+method is strongly preferable. Finally, \opt{none} disables alignment entirely:
+numbers are simply parsed.
\DescribeOption{table-number-alignment}
-When \opt{table-mode} is set to \meta{format} or \meta{none}, the placement of
-the number \enquote{block} within the cell as a whole is set by the
-\meta{table-number-alignment} option, which may be one of \meta{left},
-\meta{center} or \meta{right}. (When \opt{table-mode} is set to \meta{marker},
-the decimal marker is always centered in the cell.) The different alignment
-choices are illustrated in Table~\ref{tab:S:align}, which uses somewhat
-exaggerated column headings to show the relative position of the cell contents.
+When \opt{table-alignment-mode} is set to \meta{format} or \meta{none}, the
+placement of the number \enquote{block} within the cell as a whole is set by
+the \meta{table-number-alignment} option, which may be one of \meta{left},
+\meta{center} or \meta{right}. (When \opt{table-alignment-mode} is set to
+\meta{marker}, the decimal marker is always centered in the cell.) The
+different alignment choices are illustrated in Table~\ref{tab:S:align}, which
+uses somewhat exaggerated column headings to show the relative position of the
+cell contents.
\begin{LaTeXdemo}[code and float]
\begin{table}
\caption{Aligning the \texttt{S} column.%
@@ -2846,6 +2848,12 @@ $3$. A significant number of key--value settings have new, more descriptive,
names. Where possible, older names are mapped to newer ones internally: you
will be warned in the log if this is the case.
+Updating to the latest edition of the \acro{SI} Brochure means that a small
+number of unit macros have been removed: of those accepted for use,
+\cs{angstrom} is no longer present, whilst the units determined experimentally
+are all no longer listed (\cs{atomicmassunit}, \cs{bohr}, \cs{clight},
+\cs{electronmass}, \cs{elementarycharge}, \cs{hartree}, \cs{plackbar}).
+
It is possible to use the \LaTeXe{} kernel mechanism to load the last
version~$2$ release for documents that cannot be successfully processed using
version~$3$. This can be achieved using
@@ -2875,6 +2883,8 @@ notably
\item prefixes can only be interconverted with numbers as part
of a quantity, not as stand-alone units.
\end{itemize}
+See Section~\ref{sec:hint:prefixes} for how to work with the new approach
+if you want to print prefix information.
The font control system has been completely re-written for version~$3$. The
method used is entirely different from version~$2$. Emulation is therefore not
@@ -3304,6 +3314,47 @@ appropriate code would be
\addto\extrasgerman{\sisetup{locale = DE}}
\end{LaTeXdemo}
+\subsection{Symbolic \enquote{digits}%
+ \label{sec:hint:symbols}}
+
+In some cases you may want to use \enquote{digits} which do not fall within the
+usual set |0123456789|. This can be done by setting the \opt{input-digits}
+option, but bearing in mind that this will affect (prevent) for example
+rounding.
+\begin{LaTeXdemo}
+ \sisetup{input-digits = 0123456789\pi}%
+ \num{4\pi e-7}
+\end{LaTeXdemo}
+Each extra entry should be a single token, and should either have a definition
+which is safe in both math and text mode, or should only be used when the
+output mode is known.
+
+\subsection{Demonstrating prefixes
+ \label{sec:hint:prefixes}}
+
+As \pkg{siunitx} contains data about the numerical values of unit prefixes,
+you may wish to print this in an automated way. Prefixes cannot be given
+on their own, but it is possible to create a \enquote{do nothing} unit.
+\begin{LaTeXdemo}[code only]
+ \DeclareSIUnit\noop{\relax}
+\end{LaTeXdemo}
+which can then be used to show just the prefix symbol.
+\begin{LaTeXdemo}
+ \unit{\yotta\noop}
+\end{LaTeXdemo}
+To show just the numerical value of a prefix, you will need to use \cs{qty}
+and appropriate settings.
+\begin{LaTeXdemo}
+ \qty[prefix-mode = extract-exponent, print-unity-mantissa = false]%
+ {1}{\yotta\noop}
+\end{LaTeXdemo}
+This may be conveniently wrapped up inside a document command, for example
+\begin{LaTeXdemo}[code only]
+ \NewDocumentCommand\prefixvalue{m}{%
+ \qty[prefix-mode=extract-exponent,print-unity-mantissa=false]{1}{#1\noop}
+ }
+\end{LaTeXdemo}
+
\section{Using (\acro{SI}) units}
Consistent and logical units are a necessity for scientific work, and have
diff --git a/macros/latex/contrib/suftesi/suftesi.dtx b/macros/latex/contrib/suftesi/suftesi.dtx
index e9c3711111..7c63defed8 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/02/06 v3.0.2 A class for typesetting theses, books and articles]
+ [2021/05/20 v3.1.0 A class for typesetting theses, books and articles]
%</class>
%<*driver>
\documentclass[12pt]{ltxdoc}
@@ -75,6 +75,9 @@ This work has the LPPL maintenance status "author-maintained".
\definecolor{sufgray}{rgb}{0.5,0.5,0.5}
\usepackage{tikz}
\usetikzlibrary{shadows,patterns}
+ \tikzset{
+ pframe/.style={draw=gray,fill=white,drop shadow},
+ pnode/.style={anchor=north west,align=justify,text width=.85\textwidth}}
\usepackage[framemethod=TikZ]{mdframed}
\mdfsetup{roundcorner=3pt,linecolor=white,backgroundcolor=gray!10}
%--------------------------------------------------------
@@ -195,17 +198,17 @@ cochineal,mathpazo,bera,amsthm}
\makeatother
\newcommand{\mygrpxsize}{12.5}
\def\latintxt{Aliquam auctor, pede consequat
- laoreet varius, eros tellus maris quam, pellentesque hendrerit.}
+ laoreet varius, eros tellus maris quam, pellentesque hendrerit.
+ Verecundia conditur.}
\def\latintxtb{Morbi luctus, wisi viverra faucibus pretium,
- nihil est placerat pro cuius loquentis verba. Sed maleficium in quibusdam
- aeternitaem.}
+ nihil est placerat pro cuius loquentis verba. Sed maleficium in quibusdam certum.}
\def\greektxt{Πρῶτον εἰπεῖν περὶ τί καὶ τίνος ἐστὶν ἡ σκέψις, ὅτι περὶ
ἀπόδειξιν καὶ ἐπιστήμης ἀποδεικτικῆς· εἶτα διορίσαι τί
ἐστι πρότασις καὶ τί ὅρος καὶ τί συλλογισμός}
\newcommand{\greekexample}[4]{%
\noindent\textbf{#3}{ \fontfamily{#1}\selectfont\latintxt\ }%
{\fontfamily{#2}\fontsize{#4}{13}\selectfont%
- \textgreek{\greektxt}} {\fontfamily{#1}\selectfont\latintxtb}\par\smallskip}
+ \textgreek{\greektxt}} {\fontfamily{#1}\selectfont\latintxtb}\par\vskip 6pt plus 1pt minus 1pt}
% --------------------------------------------------------
% LAYOUTS THUMBNAILS
% --------------------------------------------------------
@@ -249,6 +252,65 @@ cochineal,mathpazo,bera,amsthm}
\node at (\expaperwidth,-4) (caption) {\parbox{2.5cm}{\centering\footnotesize\texttt{#2}\par (\sufgetlength[cm]{2}{\expaperwidth} $\times$ \sufgetlength[cm]{2}{\expaperheight})\par}};
\end{tikzpicture}}
% --------------------------------------------------------
+% OTHER THUMBNAILS
+% --------------------------------------------------------
+\def\shortlipsum{Sed feugiat. Cum sociis natoque penatibus et magnis dis parturient.}
+\newcommand{\fakechapter}[1]{%
+ \noindent
+ \begin{minipage}{.31\textwidth}
+ \begin{tikzpicture}
+ \draw[pframe] (0,0) rectangle (\textwidth,3.8);
+ \node[pnode] at (0.25,3.7)
+ {\begingroup#1\par\vspace{2\baselineskip}\endgroup
+ \tiny\shortlipsum\shortlipsum\shortlipsum\shortlipsum\par};
+ \end{tikzpicture}
+ \end{minipage}
+}
+\newcommand{\fakefootnote}[1]{%
+ \def\thempfootnote{\tiny 7}
+ \noindent
+ \begin{minipage}{.49\textwidth}
+ #1\footnotesize%
+ \begin{tikzpicture}
+ \draw[pframe] (0,0) rectangle (\textwidth,4.9);
+ \node[pnode] at (0.5,4.6)
+ {\shortlipsum\shortlipsum\shortlipsum\shortlipsum
+ \footnote{\scriptsize\shortlipsum\shortlipsum\par}};
+ \end{tikzpicture}%
+ \end{minipage}
+}
+\newcommand{\fakelist}[1]{%
+ \noindent
+ \begin{minipage}{.31\textwidth}
+ \footnotesize
+ \begin{tikzpicture}
+ \draw[pframe] (0,0) rectangle (\textwidth,3.3);
+ \node[pnode] at (0.3,3.2)
+ {\shortlipsum%
+ \begin{list}{\color{gray}\textbullet}{\leftmargin=#1\itemsep=0pt}
+ \item first item
+ \item second item
+ \item third item
+ \end{list}};
+ \end{tikzpicture}%
+ \end{minipage}
+}
+\newcommand{\fakequotation}[1]{%
+ \noindent
+ \begin{minipage}{.31\textwidth}
+ \footnotesize%
+ \begin{tikzpicture}
+ \draw[pframe] (0,0) rectangle (\textwidth,7);
+ \node[pnode] at (0.25,6.8)
+ {\hskip1em\shortlipsum\shortlipsum
+ \begin{list}{}{#1}
+ \item \tiny\shortlipsum\shortlipsum\shortlipsum\shortlipsum
+ \end{list}
+ \hskip1em\shortlipsum\shortlipsum};
+ \end{tikzpicture}%
+ \end{minipage}
+}
+% --------------------------------------------------------
% HYPERREF SETUP
% --------------------------------------------------------
\usepackage{hyperref}
@@ -277,7 +339,7 @@ cochineal,mathpazo,bera,amsthm}
%</driver>
% \fi
%
-% \CheckSum{5380}
+% \CheckSum{5722}
%
% \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
@@ -295,6 +357,7 @@ cochineal,mathpazo,bera,amsthm}
% Grave accent \` Left brace \{ Vertical bar \|
% Right brace \} Tilde \~}
%
+% \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.}
% \changes{v3.0}{2021/01/24}{Improved \sty{biblatex} support. Updated documentation.}
@@ -409,8 +472,18 @@ cochineal,mathpazo,bera,amsthm}
%};
% \end{tikzpicture}
% \clearpage\thispagestyle{empty}
+% \null\vspace{1cm}
+%
+%\hfill\begin{minipage}{.5\textwidth}
+% \raggedleft\footnotesize
+% The serif typeface is Cochineal, created by Michael Sharpe
+% on the basis of Sebastian Kosch's Crimson.
+% The \texttt{typewriter} font is Inconsolata,
+% designed by Raph Levien and the \textsf{sans serif} text
+% is typeset in Linux Biolinum, created by Philipp H.~Pol.
+%\end{minipage}
%
-% \null\vfill
+% \vfill
%
% ^^A ----------------------------------------------------------------
% ^^A
@@ -524,14 +597,11 @@ cochineal,mathpazo,bera,amsthm}
% \begin{ttquote}
% \cmd{documentclass}\oarm{options}\{suftesi\}
% \end{ttquote}
-% All the options defined by the class are in
-% the \meta{key}\texttt{=}\meta{value} format. In addition to these you can
-% also use the options defined by the standard
-% \sty{book} class (on which \sty{suftesi} is based) except those modifying
-% the page dimensions (\opt{a4paper}, \opt{a5paper}, \opt{b5paper},
-%\opt{legalpaper}, \opt{executivepaper} and \opt{landscape}), which are
-% automatically disabled. The class loads the packages listed in
-% table \ref{tab:pkgloaded}.
+%
+% For using the class with the \hologo{XeTeX} and \hologo{LuaTeX} engines you need
+% to load the \sty{fontspec} package (\sty{mathspec} is an alternative
+% only for \hologo{XeTeX}) and to select a main font.
+%
%
% \begin{table}
% \centering
@@ -554,110 +624,78 @@ cochineal,mathpazo,bera,amsthm}
%
% \changes{v0.9b}{2012/09/23}{The \sty{epigraph} package is no longer loaded}
%
-%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection*{Using with \hologo{XeLaTeX} and \hologo{LuaLaTeX}}
-% ^^A
-% ^^A ----------------------------------------------------------------
-%
-% For using the class with the \hologo{XeTeX} and \hologo{LuaTeX} engines you need
-% to load the \sty{fontspec} package (\sty{mathspec} is an alternative
-% only for \hologo{XeTeX}) and to select a main font.
-%
-% ^^A ----------------------------------------------------------------
-% ^^A
-% \section{Class features}
+% \section{Class features}\label{sec:features}
% ^^A
% ^^A ----------------------------------------------------------------
%
-% The \sty{suftesi} class provides a large set of options to customize
-% the style of page, titles, headings and other text elements (see section
-% \ref{sec:options}). The simplest way to get to know the class features
-% is therefore to typeset one of the templates which you can find in the
+% The following sections describe the options and commands made available
+% by the class.
+% All the options are in the \meta{key}\texttt{=}\meta{value} format.
+% In addition to these you can
+% also use the options defined by the standard
+% \sty{book} class (on which \sty{suftesi} is based) except those modifying
+% the page dimensions (\opt{a4paper}, \opt{a5paper}, \opt{b5paper},
+% \opt{legalpaper}, \opt{executivepaper} and \opt{landscape}), which are
+% automatically disabled.
+%
+% Since the possible combinations are hundreds,
+% the simplest way to get to know the class features
+% is to typeset one of the templates which you can find in the
% \texttt{/doc/latex/suftesi} folder in your \hologo{LaTeX} distribution
% \parencite[see also][]{valbusa:20122}. The class files as well as the
% templates are also available online on the CTAN’s website at
% \textcolor{magenta}{\url{http://www.ctan.org/pkg/suftesi}}.
%
+% The class loads the packages listed in table \ref{tab:pkgloaded} and
+% since version 2.9.5 relies on \sty{appendix} package to manage
+% the appendices \parencite[see][]{appendix}. To get the correct label
+% in titles, headings and table of
+% contents, you should use the \env{appendices} environment.
+%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Document structures}
+% \subsection{Structure}
% ^^A
% ^^A ----------------------------------------------------------------
%
% With \sty{suftesi} you can typeset book-style documents (with chapters),
% article-style documents (without chapters) and collections of papers
-% (see section \ref{sec:collection}). The kind of document is set by the
-% \opt{structure} option which defaults to \opt{book} (see section
-% \ref{sec:options}).
+% (see section \ref{sec:collection}).
%
% \changes{v0.9b}{2012/09/23}{The \sty{mparhack} package is no longer
% loaded. It is not compatible with \sty{crop}.}
%
+% \begin{optionlist*}
+% \optitem[book]{structure}{\opt{book}\OR\opt{article}\OR\opt{collection}}
+% \changes{v0.9b}{2012/09/23}{New option \opt{structure}}
+% \begin{valuelist}
+% \item[book] For typesetting texts with chapters.
+% \item[article] For typesetting articles or short theses
+% (without chapters).
+% \item[collection] For typesetting journals or collections of articles
+% (see section \ref{sec:collection}).
+% \end{valuelist}
+% \end{optionlist*}
+%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Page layouts}
+% \subsection{Layout}\label{sec:page-styles}
% ^^A
% ^^A ----------------------------------------------------------------
%
-% The class provides eight page layouts which can be selected by the
-% \opt{pagelayout} option (table \ref{tab:layouts}). The \opt{standard}
+% The class provides eleven page layouts (table \ref{fig:layouts} and figure
+% \ref{tab:layouts}). The \opt{standard}
% layout (default) or \opt{standardaureo} layout are aimed to typeset
-% A4 documents, while the other seven layouts are particularly suitable
+% A4 documents, while the other nine layouts are particularly suitable
% to typeset compact books, articles or theses. For these compact layouts
% the \opt{version=screen} and \opt{version=cscreen} options are particularly
-% useful as they show the output in its real size. See section
-% \ref{sec:page-styles} for details. In figure \ref{fig:layouts} you can see
-% the thumbnails of the eleven page layouts provided by \sty{suftesi}.
-%
-% You can define your own layouts through the \cmd{geometry} command
-% and you can change the value of \cmd{baselineskip} too. For example
-% you can resize the typeblock of the \texttt{supercompactaureo} layout
-% to fit particular needs, or simply because the font used requires
-% a smaller line width. As you can see
-% in the following example, you can change many aspects of the layout,
-% using the parameters available for the \cmd{geometry} command.
-% Here we have
-% modified also the margin ratio, the value of the upper margin and the
-% distance between the head and the beginning of the text. For the other parameters
-% sees the documentation of the \sty{geometry} package \parencite{geometry}.
-%
-% \alert Remember that if you change the line spacing with
-% the \cmd{linespread} command, you need to add \cmd{normalsize}.
-% \medskip
-%
-%\begin{minipage}{.4\textwidth}
-%\begin{latexcode}
-%\begin{verbatim}
-%\linespread{0.956}
-%\normalsize
-%\geometry{
-% ignoreall,
-% paperwidth = 140mm,
-% paperheight = 210mm,
-% textheight = 165mm,
-% textwidth = 100mm,
-% marginratio = 1:1,
-% top = 2.07cm,
-% headsep = 5.5mm,
-% heightrounded}
-%\end{verbatim}
-% \end{latexcode}
-%\end{minipage}
-%\hfill
-%\begin{minipage}{.555\textwidth}
-%\begin{tikzpicture}[scale=2.81]
-%\draw (0,0) rectangle (1.40cm,2.10cm);
-%\draw[xshift=2mm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
-%\draw[xshift=1.6cm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
-%\draw[xshift=1.40cm] (0,0) rectangle (1.40cm,2.10cm);
-%\end{tikzpicture}
-%\end{minipage}
+% useful as they show the output in its real size.
%
%\begin{table}
%\centering
-%\begin{tabular}{@{}lccccr@{\,$:$\,}lr@{\,$:$\,}lcr@{\,$:$\,}l@{}}
+%\begin{tabular}{lccccr@{\,$:$\,}lr@{\,$:$\,}lcr@{\,$:$\,}l}
%\toprule
% &
% \multicolumn{4}{c}{Dimensions (mm)} &
@@ -704,6 +742,49 @@ cochineal,mathpazo,bera,amsthm}
%\caption{The layouts of \sty{suftesi}}\label{tab:layouts}
%\end{table}
%
+% \begin{optionlist*}
+% \optitem[standard]{pagelayout}{\opt{standard}\OR\opt{standardaureo}%
+% \OR\opt{periodical}\OR\opt{periodicalaureo}\OR\opt{compact}\OR
+% \opt{compactaureo}\OR\opt{supercompact}\OR\opt{supercompactaureo}\OR\opt{pocketa}\OR\opt{pocketb}\OR\opt{pocketc}}
+% \changes{v0.9b}{2012/09/23}{New option \opt{pagestyle}}
+% \begin{valuelist}
+% \item[standard] Prints an A4 page with a
+% typeblock of $\SI{110}{mm} \times \SI{220}{mm}$.
+% \end{valuelist}
+% With the following values the option prints the typeblock
+% on a an A4 paper showing the crop marks which can be controlled
+% by the \opt{version} option.
+% \begin{valuelist}
+% \item[periodical]
+% Prints a page of $\SI{17}{cm} \times \SI{24}{cm}$ with a typeblock of
+% $\SI{11}{cm} \times \SI{16,5}{cm}$.
+% \item[periodicalaureo] The same of \opt{periodical} but with a
+% \emph{golden ratio} typeblock of $\SI{120}{cm} \times \SI{194}{mm}$.
+% \item[compact]
+% Prints a page of $\SI{16}{cm} \times \SI{24}{cm}$ with a typeblock of
+% $\SI{11}{cm} \times \SI{16,5}{cm}$.
+% \item[compactaureo]
+% The same as \opt{compact} but with
+% a \emph{golden ratio} typeblock of $\SI{11,8}{cm} \times \SI{19,1}{cm}$.
+% \item[supercompact]
+% Prints a page of $\SI{14}{cm} \times \SI{21}{cm}$ with a typeblock of
+% $\SI{10}{cm} \times \SI{15,5}{cm}$.
+% \item[supercompactaureo]
+% The same as \opt{supercompact} but with
+% a \emph{golden ratio} typeblock of $\SI{10,8}{cm} \times \SI{17,5}{cm}$.
+% \end{valuelist}
+% \begin{valuelist}
+% \item[pocketa]
+% Prints a page of $\SI{135}{cm} \times \SI{208}{cm}$ with a typeblock of
+% $\SI{102}{cm} \times \SI{153}{cm}$.
+% \item[pocketb]
+% Prints a page of $\SI{140}{cm} \times \SI{210}{cm}$ with a typeblock of
+% $\SI{99}{cm} \times \SI{165}{cm}$.
+% \item[pocketc]
+% Prints a page of $\SI{116}{cm} \times \SI{193}{cm}$ with a typeblock of
+% $\SI{90}{cm} \times \SI{150}{cm}$.
+% \end{valuelist}
+%
%\begin{figure}
% \vspace*{-1cm}
%\def\sufsetlengths{\sufsetlengthsA}
@@ -729,9 +810,87 @@ cochineal,mathpazo,bera,amsthm}
% \caption{The eleven layouts of \sty{suftesi}}\label{fig:layouts}
%\end{figure}
%
+% \optitem[final]{version}{\opt{screen}\OR\opt{cscreen}\OR\opt{draft}
+% \OR\opt{final}}
+% The following two options are provided to have a better view when
+% you are typesetting and reading the \textsc{pdf} on the screen
+% or for online publications.
+% \begin{valuelist}
+% \item[screen] Prints the PDF with its real dimensions.
+% \item[cscreen] The same as \opt{version=screen} but with a centered
+% typeblock.
+% \end{valuelist}
+% The following two options are meant for printed documents.
+% \begin{valuelist}
+% \item[draft]
+% Prints the output on a A4 paper, showing the crop marks.
+% Useless with \opt{standard} and \opt{standardaureo} layouts.
+% \item[final] Prints the output on a A4 paper, hiding the crop marks.
+% Useless with \opt{standard} and \opt{standardaureo} layouts.
+% \end{valuelist}
+% Sometimes it is not desirable to have the crop marks on every page.
+% In such a case you can use the \cmd{crop}|[off]| command
+% after the first page of the document.
+%
+% \optitem[\cmd{baselineskip}]{parindent}{\meta{dimen}}
+% \changes{v0.9b}{2012/09/23}{New option \opt{parindent}}
+%
+% Sets the indentation of the first line of each paragraph except those following a section title. You can use any unit recognized by \TeX{} (for example: \opt{1em}\OR\opt{1cm}\OR\opt{17pt}, \ldots).
+%
+%\begin{footnotesize}
+%Note that some packages may set the value of \cmd{parindent} inside the \cmd{AtBeginDocument} hook. In these cases the \opt{parindent} option is ineffective and if you want to change the indentation you have to call \cmd{parindent=}\meta{dimen} after |\begin{document}|.\par
+%\end{footnotesize}
+% \end{optionlist*}
+%
+% \subsubsection{Layout customizations}
+%
+% You can define your own layouts through the \cmd{geometry} command
+% and you can change the value of \cmd{baselineskip} too. For example
+% you can resize the typeblock of the \texttt{supercompactaureo} layout
+% to fit particular needs, or simply because the font used requires
+% a smaller line width. As you can see
+% in the following example, you can change many aspects of the layout,
+% using the parameters available for the \cmd{geometry} command.
+% Here we have
+% modified also the margin ratio, the value of the upper margin and the
+% distance between the head and the beginning of the text. For the other parameters
+% sees the documentation of the \sty{geometry} package \parencite{geometry}.
+%
+% \alert Remember that if you change the line spacing with
+% the \cmd{linespread} command, you need to add \cmd{normalsize}.
+%
+% ^^A\begin{minipage}{.4\textwidth}
+%\begin{latexcode}
+%\begin{verbatim}
+%\linespread{0.956}
+%\normalsize
+%\geometry{...}
+%\end{verbatim}
+% \end{latexcode}
+% ^^A \geometry{
+% ^^A ignoreall,
+% ^^A paperwidth = 140mm,
+% ^^A paperheight = 210mm,
+% ^^A textheight = 165mm,
+% ^^A textwidth = 100mm,
+% ^^A marginratio = 1:1,
+% ^^A top = 2.07cm,
+% ^^A headsep = 5.5mm,
+% ^^A heightrounded}
+% ^^A\end{minipage}
+% ^^A\hfill
+% ^^A\begin{minipage}{.555\textwidth}
+% ^^A\begin{tikzpicture}[scale=2.81]
+% ^^A\draw (0,0) rectangle (1.40cm,2.10cm);
+% ^^A\draw[xshift=2mm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
+% ^^A\draw[xshift=1.6cm,yshift=2.25mm,fill=gray!20,draw=none] (0,0) rectangle (1.00cm,1.65cm);
+% ^^A\draw[xshift=1.40cm] (0,0) rectangle (1.40cm,2.10cm);
+% ^^A\end{tikzpicture}
+% ^^A\end{minipage}
+%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Fonts}
+% \subsection{Font}\label{sec:fonts}
% ^^A
% ^^A ----------------------------------------------------------------
%
@@ -748,8 +907,7 @@ cochineal,mathpazo,bera,amsthm}
% The \opt{defaultfont} option allows you to can change the default roman
% font to New PX (Palatino-like), Linux Libertine, or Latin Modern.
% You can use other fonts as well, but in this case remember to load the
-% \opt{defaultfont=none} option which turns off the default font settings
-% (see section \ref{sec:options} for details).
+% \opt{defaultfont=none} option which turns off the default font settings.
%
% Today there are several Garamond-like fonts in \TeX~Live distribution.
% See, for example Garamond Libre and Cormorant Garamond.
@@ -768,7 +926,44 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsubsection[Mathematics]{Typesetting mathematics}
+% \subsubsection{General settings}\label{sec:fonts:options:general}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+% \begin{optionlist*}
+% \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
+% by TeX (for example: \opt{6mm}, \opt{1ex}, \opt{11.5pt}).
+% If the unit is not declared it defaults to \texttt{pt}.
+% If you want to set a specific value for \cmd{baselineskip}
+% you have to use the \cmd{changefontsize}\oarm{baselineskip}\arm{fontsize} command.
+%
+% \optitem[low]{smallcapsstyle}{\opt{low}\OR\opt{upper}}
+% Effective only with \opt{\meta{level}font=smallcaps} and \opt{toc\meta{level}font=smallcaps} options (see sections \ref{sec:titles} and \ref{sec:toc}).
+% With \hologo{XeLaTeX} or \hologo{LuaLaTeX} this option is effective only if a font selection command (such as \cmd{setmainfont}) is given.
+% \begin{valuelist}
+% \item[low] Prints lowercase spaced \textsc{\lsstyle small capitals}.
+% \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. Use this option
+% if you want full control over the font selection. This is the default with
+% \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
+% \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 ----------------------------------------------------------------
+% ^^A
+% \subsubsection[Mathematics]{Mathematical support}
% ^^A
% ^^A ----------------------------------------------------------------
%
@@ -779,12 +974,24 @@ cochineal,mathpazo,bera,amsthm}
% using these fonts. These non-standard fonts have a very good mathematical
% support but if you aim at typesetting high mathematics the Latin Modern
% font family remains, of course, the better choice: \opt{defaultfont=standard}.
-% See section \ref{sec:fonts} for details.
%
% If some of the loaded packages conflict or if you simply want to change
% some of the default font settings you should first reset the font default
% with \opt{defaultfont=none} option and then load the packages in the right
% order and with your favorite options.
+%
+% \begin{optionlist*}
+% \optitem[minimal]{mathfont}{\opt{none}\OR\opt{minimal}\OR\opt{extended}}
+%
+% Effective only with Cochineal, Libertine and New PX fonts.
+% \begin{valuelist}
+% \item[none] Do not load any mathematical support. Use this option if you need some packages that have to be loaded before \sty{newtxmath} and \sty{newpxmath}. This is the default with
+% \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
+% \item[minimal] Loads \sty{newtxmath} (for Cochineal and Linux Libertine) or \sty{newpxmath} (for PX Fonts).
+% \item[extended] Loads the previous option plus the \sty{amsthm} and \sty{mathalpha} packages.
+% \end{valuelist}
+% \end{optionlist*}
+%
% ^^AFor example, these are the codes loaded for the three non-standard fonts:
% ^^A
% ^^A\paragraph{defaultfont=cochineal}
@@ -836,15 +1043,14 @@ cochineal,mathpazo,bera,amsthm}
% ^^A\end{verbatim}
% ^^A\end{latexcode}
%
-%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsubsection[Greek]{Typesetting Greek}
+% \subsubsection[Greek]{Greek support}
% ^^A
% ^^A ----------------------------------------------------------------
%
% The Cochineal default font is complete of Greek and Cyrillic. Anyway
-% the class provides the \opt{greekfont} option (see section \ref{sec:fonts})
+% the class provides the \opt{greekfont} option
% to select four different Greek fonts for use with the roman typeface
% set by the \opt{defaultfont} option (except for the \opt{defaultfont=standard}
% option, i.e. with Latin Modern font family which uses the CB Greek by default).
@@ -853,6 +1059,20 @@ cochineal,mathpazo,bera,amsthm}
% but in this case, as previously cleared, remember to load the
% \opt{defaultfont=none} option.
%
+% \begin{optionlist*}
+% \optitem[none]{greekfont}{\opt{none}\OR\opt{artemisia}\OR\opt{porson}\OR\opt{bodoni}\OR\opt{cbgreek}}
+% Actually useless with \opt{defaultfont=none} and not available with \opt{defaultfont=standard} options.
+% \changes{v0.9b}{2012/09/23}{New option \opt{greekfont}}
+% \begin{valuelist}
+% \item[none] Does not load any Greek font. This is the default with
+% \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
+% \item[artemisia] Loads the Artemisia font by the Greek Font Society.
+% \item[porson] Loads the Porson font by the Greek Font Society.
+% \item[bodoni] Loads the Bodoni font by the Greek Font Society.
+% \item[cbgreek] Loads the standard CB~Greek font by Claudio Beccari.
+% \end{valuelist}
+% \end{optionlist*}
+%
% \begin{mdframed}[backgroundcolor=philA!10,linecolor=white]
%\greekexample{Cochineal-LF}{Cochineal-LF}{Cochineal/Cochineal}{12.15}
%\greekexample{Cochineal-LF}{bodoni}{Cochineal/Bodoni}{11.25}
@@ -873,353 +1093,184 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Cover page}
+% \subsection{Sectioning}\label{sec:titles}
% ^^A
% ^^A ----------------------------------------------------------------
%
-% Since version 2.6 \sty{suftesi} provides a command to print a simple
-% cover page (figure \ref{fig:cover}), inspired by the Italian designer
-% Bruno \textcite[85-89]{munari:arte-come-mestiere}. The color used for
-% the text and the circle as well as other graphical elements are partially
-% customizable (see section \ref{sec:options} for details). The cover shown
-% in figure \ref{fig:cover} is obtained with the following code:
-% \begin{latexcode}
-%\begin{verbatim}
-%\Cauthor{Bruce Lee}
-%\Ctitle{The Art of Kicking}
-%\Csubtitle{How to survive in the modern societies}
-%\Ceditor{edited by\\ Walker Texas Ranger}
-%\Cfoot{Punch Press\\ \fbox{\bfseries P\&P}}
-%\Cpagecolor{white!90!black}
-%\Ctextcolor{white}
-%\Cfootcolor{black}
-%\makecover[ball color=DarkBlue,draw=none]
-%\end{verbatim}
-% \end{latexcode}
+%\begin{figure}
+%\fakechapter{1 Lorem ipsum}\hfill
+%\fakechapter{\centering I. \textit{Lorem ipsum}}\hfill
+%\fakechapter{\raggedleft \textsc{ii}. \textsc{\lsstyle lipsum}}
%
-% To produce a complete book cover, with spine and dust jacket, you should
-% take a look at the \sty{bookcover} class by Tibor \textcite{bookcover}.
+%\bigskip
+%
+%\fakechapter{3.\par \textsc{\lsstyle lipsum}}\hfill
+%\fakechapter{\centering \textsc{ii}.\par Lorem ipsum}\hfill
+%\fakechapter{\raggedleft II.\par \textit{ Lorem ipsum}}
%
+%\caption{Six examples of section titles that can be obtained combining the class options}\label{fig:fakechapter}
+%\end{figure}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Frontispiece}
+% \subsubsection{Options}\label{sec:titles:options}
% ^^A
% ^^A ----------------------------------------------------------------
%
-%\begin{figure}
-%\begin{minipage}{.5\textwidth}
-%\centering
-%\begin{tikzpicture}[scale=0.4]%
-%\draw[draw=gray,fill=white,drop shadow] (-\textwidth,0) rectangle (\textwidth,.9\textheight);
-%\draw[line width=.1pt,draw=black] (-4.2,18.1) circle (13mm) node {\parbox{10mm}{\centering\tiny ---*---\\[-.5mm] St. Anford\\ University\\ ---*--- }};
-% \node[scale=0.4,anchor=north west] at (-2.5cm,19cm) {%
-% \parbox{8cm}{%
-% \small University of St. Anford\par
-% \normalsize Department of Typography
-% \vskip1ex\hrule\vskip1.2ex
-% \large Ph.D. degree in \TeX{} and \LaTeX
-%
-% \vspace{3cm}
+% Figure \ref{fig:fakechapter} shows some combinations of the following options.
%
-% {\LARGE\sffamily\color{sufred} How to prepare\par
-% a formal frontispiece\par}
-% \vspace{2ex}
-%
-% {\normalsize\sffamily Theory and practice\par}
+% In the following option \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
+% \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
+% \begin{optionlist*}
+% \optitem[roman]{\meta{level}font}{\opt{roman}\OR\opt{italic}\OR
+% \opt{smallcaps}}
+% \begin{valuelist}
+% \item[roman] Prints the \meta{level} title in roman.
+% \item[italic] Prints the \meta{level} title in \emph{italic}.
+% \item[smallcaps] Prints the \meta{level} title
+% in \textsc{\lsstyle spaced small caps}
+% \end{valuelist}
+% \end{optionlist*}
+% In the following options \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
+% \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
+% \begin{optionlist*}
+% \optitem[left]{\meta{level}style}{\opt{left}\OR\opt{center}\OR
+% \opt{right}\OR\opt{parleft}\OR\opt{parcenter}\OR
+% \opt{parright}}
+% \begin{valuelist}
+% \item[left] Aligns the \meta{level} title on the left.
+% \item[center] Centers the \meta{level} title.
+% \item[right] Aligns the \meta{level} title on the right.
+% \item[parleft] As \opt{left} but with the title below the number.
+% \item[parcenter] As \opt{center} but with the title below the number.
+% \item[parright] As \opt{right} but with the title below the number.
+% \end{valuelist}
+% \optitem[Roman/arabic/arabic]{\meta{level}numstyle}{\opt{arabic}\OR
+% \opt{roman}\OR\opt{Roman}\OR\opt{dotarabic}\OR\opt{dotroman}\OR
+% \opt{dotRoman}}
+% \begin{valuelist}
+% \item[arabic] Arabic \meta{level} number.
+% \item[roman] Small caps lowercase roman \meta{level} number.
+% \item[Roman] Uppercase roman \meta{level} number.
+% \item[dotarabic] As \opt{arabic} but followed by a dot.
+% \item[dotroman] As \opt{roman} but followed by a dot.
+% \item[dotRoman] As \opt{Roman} but followed by a dot.
+% \end{valuelist}
%
-% \vspace{2cm}
+% \optitem[false]{partpage}{\opt{true}\OR\opt{false}}
+% \changes{v0.9b}{2012/09/23}{New option \opt{partpage}}
+% Effective only with \opt{structure=article}.
+% \begin{valuelist}
+% \item[true] Prints the part title in a separate page as in
+% \opt{structure=book}
+% \item[false] Prints a part title similar to the one used in the standard \opt{article} class.
+% \end{valuelist}
+% \end{optionlist*}
%
-% {\normalsize\sffamily Candidate:\par}
-% \small Enrico Gregorio
-% \vspace{5ex}
-%
-% {\normalsize\sffamily Thesis advisor:\par}
-% \small Prof. R. J. Drofnats
-% \vspace{2ex}
+% ^^A ----------------------------------------------------------------
+% ^^A
+% \subsubsection{Commands}\label{sec:titles:commands}
+% ^^A
+% ^^A ----------------------------------------------------------------
%
-% {\normalsize\sffamily Research supervisors:\par}
-% \small J. H. Quick\par
-% B. L. User\vspace{3.5cm}
+% \changes{v2.9.3}{2020/001/29}{New commands to change the font of the section titles and numbers.}
%
-% Thesis submitted in 2010
-% }
-% };
-%\end{tikzpicture}
-%\caption{The frontispiece of \sty{suftesi}}\label{fig:frontispiece}
-%\end{minipage}
-%\begin{minipage}{.5\textwidth}
-%\centering
-%\begin{tikzpicture}[scale=0.4]%
-%\draw[draw=gray,fill=gray!5,drop shadow] (-\textwidth,0) rectangle (\textwidth,.9\textheight);
-% \node at (0,.65\textheight) (c) {};
-% \draw[ball color=DarkBlue,draw=none] (c) circle (4.5cm);
-% \node[scale=0.4,anchor=center,text=white] at (c) {\parbox{6cm}{%
-% \centering
-% {\scriptsize\scshape Bruce Lee\\}
-% \vspace*{\baselineskip}
+% 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.
%
-% {\Large\bfseries The Art of Kicking\\}
+% \begin{ltxsyntax}
+% \cmditem*{\meta{level}font}{definition}
%
-% {\smallskip\normalsize How to survive in the modern societies\\}
+% Changes the font of the \meta{level} title, where \meta{level} can be \opt{part},
+% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
%
-% {\vspace*{2\baselineskip}\scriptsize edited by\\ Walker Texas Ranger\\}}};
-% \node[align=center] at (0,2) {\scriptsize \textcolor{black}{Punch Press}\\\textcolor{black}{\bfseries\small P\&P}};
-%\end{tikzpicture}
-%\caption{A cover page of \sty{suftesi}}\label{fig:cover}
-%\end{minipage}
-%\end{figure}
+% \cmditem*{\meta{level}numfont}{definition}
%
-% The class has an original frontispiece (see figure \ref{fig:frontispiece})
-% now directly available loading the \sty{frontespizio} package
-% with the \opt{suftesi} option. It is meant only for Italian users
-% \parencite[see][version 1.4 or later]{Gregorio:frontespizio}:
+% Changes the font of the \meta{level} number, where \meta{level} can be \opt{part},
+% \opt{chap}, \opt{sec}, \opt{subsec}, \opt{subsubsec}.
%
+% For example, if you used the \opt{chapfont=smallcaps} option, you can change the size of the chapter title accordingly with:
% \begin{latexcode}
%\begin{verbatim}
-%\usepackage[suftesi]{frontespizio}
+%\chapfont{\fontsize{13}{17}\scshape\lsstyle\expandafter\MakeLowercase}
%\end{verbatim}
% \end{latexcode}
-%
-% Note that this frontispiece requires the use of a logo which could be
-% restricted by some institutions. So before using it you have to be sure
-% that you have the required permissions.
-%
-% The \sty{frontespizio} package produces a frontispiece in the standard
-% Computer Modern typeface. If you prefer a consistent font remember
-% to load the needed packages or commands in the \cmd{Preambolo} command:
%
+% Combining these commands you can get something like this (or something worse/better):
% \begin{latexcode}
%\begin{verbatim}
-%\begin{frontespizio}
-% \Preambolo{\usepackage[osf]{cochineal}}% <===
-% ...
-%\end{frontespizio}
-%\end{verbatim}
-% \end{latexcode}
+%\documentclass[pagelayout=periodical\partnameaureo,11pt,
+%version=cscreen,chapstyle=parright]{suftesi}
%
-% ^^A ----------------------------------------------------------------
-% ^^A
-% \subsection{Appendices}
-% ^^A
-% ^^A ----------------------------------------------------------------
+%\usepackage{xcolor,lipsum}
%
-% Since version 2.9.5 the class relies on \sty{appendix} package to manage
-% the appendices \parencite[see][]{appendix}. To get the correct label in titles, headings and table of
-% contents, you should use the \env{appendices} environment.
-% \begin{latexcode}
-%\begin{verbatim}
-%\renewcommand{\appendixpagename}{Appendices}
-%\renewcommand{\appendixname}{Appendix}
-%\addappheadtotoc
+%\chapfont{\bfseries\sffamily\scshape\LARGE}
+%\secfont{\sffamily\fontsize{14.5}{15.5}\selectfont}
+%
+%\chapnumfont{\hskip1cm\hbox{\bfseries\fontsize{100}{100}\selectfont%
+%\color{gray}\arabic{chapter}}\hskip-1cm}
+%\secnumfont{\bfseries---\,\arabic{chapter}.\arabic{section}}
%
%\begin{document}
-%...
-%\appendixpage
%
-%\begin{appendices}
-% \chapter{First appendix}
-% Lorem ipsum
-% \chapter{First appendix}
-% Lorem ipsum
-%\end{appendices}
+%\chapter{Lorem ipsum dolor sit amet, consectetuer adipiscing elit}
+%
+%\section{Dolor sit amet}
+%\lipsum[1-2]
+%
+%\section{Lorem ipsum dolor sit amet}
+%\subsection{Dolor sit amet}
+%\lipsum[1]
%
%\end{document}
%\end{verbatim}
% \end{latexcode}
-%
+% \end{ltxsyntax}
%
-% ^^A ----------------------------------------------------------------
-% ^^A
-% \section{Options}\label{sec:options}
-% ^^A
-% ^^A ----------------------------------------------------------------
+% \begin{ltxsyntax}
+% \cmditem{breakintoc}
%
-% ^^A ----------------------------------------------------------------
-% ^^A
-% \subsection{Layout}\label{sec:page-styles}
-% ^^A
-% ^^A ----------------------------------------------------------------
+% A manual break which is active for the table of contents but not in the text or in the headers.
%
-% \begin{optionlist*}
-% \optitem[book]{structure}{\opt{book}\OR\opt{article}\OR\opt{collection}}
-% \changes{v0.9b}{2012/09/23}{New option \opt{structure}}
-% \begin{valuelist}
-% \item[book] For typesetting texts with chapters.
-% \item[article] For typesetting articles or short theses
-% (without chapters).
-% \item[collection] For typesetting journals or collections of articles
-% (see section \ref{sec:collection}).
-% \end{valuelist}
-% \optitem[standard]{pagelayout}{\opt{standard}\OR\opt{standardaureo}%
-% \OR\opt{periodical}\OR\opt{periodicalaureo}\OR\opt{compact}\OR
-% \opt{compactaureo}\OR\opt{supercompact}\OR\opt{supercompactaureo}\OR\opt{pocketa}\OR\opt{pocketb}\OR\opt{pocketc}}
-% \changes{v0.9b}{2012/09/23}{New option \opt{pagestyle}}
-% \begin{valuelist}
-% \item[standard] Prints an A4 page with a
-% typeblock of $\SI{110}{mm} \times \SI{220}{mm}$.
-% \end{valuelist}
-% With the following values the option prints the typeblock
-% on a an A4 paper showing the crop marks which can be controlled
-% by the \opt{version} option.
-% \begin{valuelist}
-% \item[periodical]
-% Prints a page of $\SI{17}{cm} \times \SI{24}{cm}$ with a typeblock of
-% $\SI{11}{cm} \times \SI{16,5}{cm}$.
-% \item[periodicalaureo] The same of \opt{periodical} but with a
-% \emph{golden ratio} typeblock of $\SI{120}{cm} \times \SI{194}{mm}$.
-% \item[compact]
-% Prints a page of $\SI{16}{cm} \times \SI{24}{cm}$ with a typeblock of
-% $\SI{11}{cm} \times \SI{16,5}{cm}$.
-% \item[compactaureo]
-% The same as \opt{compact} but with
-% a \emph{golden ratio} typeblock of $\SI{11,8}{cm} \times \SI{19,1}{cm}$.
-% \item[supercompact]
-% Prints a page of $\SI{14}{cm} \times \SI{21}{cm}$ with a typeblock of
-% $\SI{10}{cm} \times \SI{15,5}{cm}$.
-% \item[supercompactaureo]
-% The same as \opt{supercompact} but with
-% a \emph{golden ratio} typeblock of $\SI{10,8}{cm} \times \SI{17,5}{cm}$.
-% \end{valuelist}
-% \begin{valuelist}
-% \item[pocketa]
-% Prints a page of $\SI{135}{cm} \times \SI{208}{cm}$ with a typeblock of
-% $\SI{102}{cm} \times \SI{153}{cm}$.
-% \item[pocketb]
-% Prints a page of $\SI{140}{cm} \times \SI{210}{cm}$ with a typeblock of
-% $\SI{99}{cm} \times \SI{165}{cm}$.
-% \item[pocketc]
-% Prints a page of $\SI{116}{cm} \times \SI{193}{cm}$ with a typeblock of
-% $\SI{90}{cm} \times \SI{150}{cm}$.
-% \end{valuelist}
-% The details of this option are shown in table \ref{tab:layouts}.
-% \optitem[final]{version}{\opt{screen}\OR\opt{cscreen}\OR\opt{draft}
-% \OR\opt{final}}
-% The following two options are provided to have a better view when
-% you are typesetting and reading the \textsc{pdf} on the screen
-% or for online publications.
-% \begin{valuelist}
-% \item[screen] Prints the PDF with its real dimensions.
-% \item[cscreen] The same as \opt{version=screen} but with a centered
-% typeblock.
-% \end{valuelist}
-% The following two options are meant for printed documents.
-% \begin{valuelist}
-% \item[draft]
-% Prints the output on a A4 paper, showing the crop marks.
-% Useless with \opt{standard} and \opt{standardaureo} layouts.
-% \item[final] Prints the output on a A4 paper, hiding the crop marks.
-% Useless with \opt{standard} and \opt{standardaureo} layouts.
-% \end{valuelist}
-% Sometimes it is not desirable to have the crop marks on every page.
-% In such a case you can use the \cmd{crop}|[off]| command
-% after the first page of the document.
-% \end{optionlist*}
+% \begin{latexcode}
+%\begin{verbatim}
+%\section{This title will be break here \breakintoc inside the contents}
+%\end{verbatim}
+% \end{latexcode}
+% \cmditem{breakinbody}
+% \cmditem{breakinbodyleft}
%
-% ^^A ----------------------------------------------------------------
-% ^^A
-% \subsection{Font}\label{sec:fonts}
-% ^^A
-% ^^A ----------------------------------------------------------------
+% Manual breaks which are active in the body text but not in the headers
+% and in the table of contents. The difference between the two
+% commands is that the former executes |\\| while the latter uses \cmd{newline}. The second one should be used with the \opt{\meta{level}style=left} options to avoid bad line alignments.
%
-% \begin{optionlist*}
-% \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
-% by TeX (for example: \opt{6mm}, \opt{1ex}, \opt{11.5pt}).
-% If the unit is not declared it defaults to \texttt{pt}.
-% If you want to set a specific value for \cmd{baselineskip}
-% you have to use the \cmd{changefontsize}\oarm{baselineskip}\arm{fontsize} command.
+% \begin{latexcode}
+%\begin{verbatim}
+%\section{This title will be break here \breakinbody inside the body text}
+%\section{This title will be break here \breakinbodyleft inside the body text}
+%\end{verbatim}
+% \end{latexcode}
%
-% \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. Use this option
-% if you want full control over the font selection. This is the default with
-% \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
-% \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[none]{greekfont}{\opt{none}\OR\opt{artemisia}\OR\opt{porson}\OR\opt{bodoni}\OR\opt{cbgreek}}
-% Actually useless with \opt{defaultfont=none} and not available with \opt{defaultfont=standard} options.
-% \changes{v0.9b}{2012/09/23}{New option \opt{greekfont}}
-% \begin{valuelist}
-% \item[none] Does not load any Greek font. This is the default with
-% \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
-% \item[artemisia] Loads the Artemisia font by the Greek Font Society.
-% \item[porson] Loads the Porson font by the Greek Font Society.
-% \item[bodoni] Loads the Bodoni font by the Greek Font Society.
-% \item[cbgreek] Loads the standard CB~Greek font by Claudio Beccari.
-% \end{valuelist}
+% \cmditem{chapterintro}
%
-% \optitem[minimal]{mathfont}{\opt{none}\OR\opt{minimal}\OR\opt{extended}}
-%
-% Available only with Cochineal, Libertine and New PX fonts.
-% \begin{valuelist}
-% \item[none] Do not load any mathematical support. Use this option if you need some packages that have to be loaded before \sty{newtxmath} and \sty{newpxmath}. This is the default with
-% \hologo{XeLaTeX} or \hologo{LuaLaTeX}.
-% \item[minimal] Loads \sty{newtxmath} (for Cochineal and Linux Libertine) or \sty{newpxmath} (for PX Fonts).
-% \item[extended] Loads the previous option plus the \sty{amsthm} and \sty{mathalpha} packages.
-% \end{valuelist}
-% \end{optionlist*}
+% Prints an unnumbered introduction at the beginning of the chapter,
+% with the correct hyperlink.
+% \cmditem{chapterintroname}{name}\hfill default: \texttt{Introduzione}
%
-% \begin{optionlist*}
-% \optitem[low]{smallcapsstyle}{\opt{low}\OR\opt{upper}}
-% Active only with \opt{\meta{level}font=smallcaps} and \opt{toc\meta{level}font=smallcaps} options (see sections \ref{sec:titles} and \ref{sec:toc}).
-% With \hologo{XeLaTeX} or \hologo{LuaLaTeX} this option is effective only if a font selection command (such as \cmd{setmainfont}) is given.
-% \begin{valuelist}
-% \item[low] Prints lowercase spaced \textsc{\lsstyle small capitals}.
-% \item[upper] Prints spaced \textsc{\lsstyle Small Capitals} with uppercase initials.
-% \end{valuelist}
-% \end{optionlist*}
+% Changes in \meta{name} the title printed by the \cmd{chapterintro} command.
+%
+% \end{ltxsyntax}
+%
+% \changes{v0.5}{2011/10/21}{New command \opt{chapnumfont}}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Titles}\label{sec:titles}
+% \subsection{Contents lists}\label{sec:toc}
% ^^A
% ^^A ----------------------------------------------------------------
%
-% In the following options \meta{level} can be \opt{part}, \opt{chap}, \opt{sec},
-% \opt{subsec}, \opt{subsubsec}.
-% \begin{optionlist*}
-% \optitem[roman]{\meta{level}font}{\opt{roman}\OR\opt{italic}\OR
-% \opt{smallcaps}}
-% \begin{valuelist}
-% \item[roman] Prints the \meta{level} title in roman.
-% \item[italic] Prints the \meta{level} title in \emph{italic}.
-% \item[smallcaps] Prints the \meta{level} title
-% in \textsc{\lsstyle spaced small caps}
-% \end{valuelist}
-% \optitem[left]{\meta{level}style}{\opt{left}\OR\opt{center}\OR
-% \opt{right}\OR\opt{parleft}\OR\opt{parcenter}\OR
-% \opt{parright}}
-% \begin{valuelist}
-% \item[left] Aligns the \meta{level} title on the left.
-% \item[center] Centers the \meta{level} title.
-% \item[right] Aligns the \meta{level} title on the right.
-% \item[parleft] As \opt{left} but with the title below the number.
-% \item[parcenter] As \opt{center} but with the title below the number.
-% \item[parright] As \opt{right} but with the title below the number.
-% \end{valuelist}
-% \optitem[Roman/arabic/arabic]{\meta{level}numstyle}{\opt{arabic}\OR
-% \opt{roman}\OR\opt{Roman}\OR\opt{dotarabic}\OR\opt{dotroman}\OR
-% \opt{dotRoman}}
-% \begin{valuelist}
-% \item[arabic] Arabic \meta{level} number.
-% \item[roman] Small caps lowercase roman \meta{level} number.
-% \item[Roman] Uppercase roman \meta{level} number.
-% \item[dotarabic] As \opt{arabic} but followed by a dot.
-% \item[dotroman] As \opt{roman} but followed by a dot.
-% \item[dotRoman] As \opt{Roman} but followed by a dot.
-% \end{valuelist}
-% \end{optionlist*}
-%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Contents lists}\label{sec:toc}
+% \subsubsection{Options}\label{sec:toc:options}
% ^^A
% ^^A ----------------------------------------------------------------
%
@@ -1229,7 +1280,7 @@ cochineal,mathpazo,bera,amsthm}
% \changes{v0.9b}{2012/09/23}{New option \opt{tocstyle}}
% \begin{valuelist}
% \item[standard] Prints a standard table of contents with
-% page numbers on the right margin.
+% page numbers on the right.
% \item[dotted] As the previous one but with dotted lines.
% \item[ragged] Aligns the table of contents on the left
% as suggested by \textcite{Bringhurst:1992}.
@@ -1237,13 +1288,15 @@ cochineal,mathpazo,bera,amsthm}
% on the left margin.
% \end{valuelist}
% \optitem[sec]{compacttoc}{\opt{sec}\OR\opt{subsec}\OR
-% \opt{subsubsec}}
+% \opt{subsubsec}\OR\opt{par}\OR\opt{subpar}}
% \begin{valuelist}
% \item[sec] Prints the sections, subsections and sub-subsections
% in a single paragraph. Note that in this case the option
% \opt{tocstyle=dotted} is uneffective as the dots are not printed for chapter entries.
% \item[subsec] Prints the subsections and sub-subsections in a single paragraph.
% \item[subsubsec] Prints the sub-subsections in a single paragraph.
+% \item[par] Prints the paragraphs in a single paragraph.
+% \item[subpar] Prints the subparagraphs in a single paragraph.
% \end{valuelist}
% \optitem[roman]{toc\meta{level}font}{\opt{roman}\OR\opt{italic}\OR
% \opt{smallcaps}}
@@ -1253,7 +1306,7 @@ cochineal,mathpazo,bera,amsthm}
% \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}.
+% 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
@@ -1270,11 +1323,190 @@ cochineal,mathpazo,bera,amsthm}
% and the list of tables in two columns.
% \item[all] Prints all the contents lists in two columns.
% \end{valuelist}
+% \optitem[false]{partialtoc}{\opt{true}\OR\opt{false}}
+% This option is effective only with the \opt{structure=book} option.
+% \begin{valuelist}
+% \item[true] Prints a partial ToC at the beginning of every chapter.
+% \item[false] Does not print any partial ToC.
+% \end{valuelist}
% \end{optionlist*}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Headings}
+% \subsubsection{Commands}\label{sec:toc:commands}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+% \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}.
+%
+% \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}.
+%
+% \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}|.
+%
+% \cmditem*{tocpartname}{definition}\hfill default: \cmd{partname}
+%
+% Changes the definition of ``Part'' name in ToC. For example:
+% \begin{latexcode}
+%\begin{verbatim}
+%\tocpartname{\begingroup\sffamily\Huge Part\endgroup}
+%\end{verbatim}
+% \end{latexcode}
+% To change the definition of \cmd{partname} you have to use the commands provided
+% by the \sty{babel} package. For example, if the document is in Italian you will
+% need something like this:
+% \begin{latexcode}
+%\begin{verbatim}
+%\addto{\captionsitalian}{%
+% \renewcommand{\partname}{\begingroup\sffamily\Huge Parte\endgroup}
+%\end{verbatim}
+% \end{latexcode}
+% Note that in both cases the definition must be enclosed in a group
+% to prevent it from changing what follows (i.e. the part number and the part title).
+%
+% The following commands allow you to modify some features of the partial ToC
+% printed at the beginning of each chapter when the \opt{partialtoc} option is used.
+%
+% \cmditem*{partialtoc\meta{level}font}{definition}
+% \cmditem*{partialtoc\meta{level}labelfont}{definition}
+%
+% Sets the font of the partial ToC \meta{level} and \meta{level}'s label respectively.
+% Where \meta{level} can be \opt{sec}, \opt{subsec}, \opt{subsubsec}, \opt{par}, \opt{subpar}.
+%
+% \cmditem*{partialtocsize}{definition}
+%
+% Sets the font size of the partial ToC.
+%
+% \cmditem*{partialtocbeforespace}{dimen}
+%
+% Sets the space before the partial ToC.
+%
+% \cmditem*{partialtocafterpace}{dimen}
+%
+% Sets the space after the partial ToC.
+%
+% \cmditem*{partialtocbeforecode}{definition}
+%
+% Arbitrary code to be executed before the partial ToC.
+%
+% \cmditem*{partialtocaftercode}{definitio}
+%
+% Arbitrary code to be executed after the partial ToC.
+% \end{ltxsyntax}
+%
+% Here is an example of the use of these commands:
+%
+% \begin{latexcode}
+%\begin{verbatim}
+%\partialtocsize{\footnotesize}
+%\partialtocsecfont{\bfseries\itshape}
+%\partialtocsubsecfont{\itshape}
+%\partialtocseclabel{\bfseries}
+%\partialtocbeforecode{\textbf{Contents of this chapter}\smallskip}
+%\end{verbatim}
+% \end{latexcode}
+% which gives this very questionable result:
+%
+% \begin{mdframed}[backgroundcolor=philA!10,linecolor=white]
+% \footnotesize
+% \textbf{Contents of this chapter}\vskip-.5ex
+%
+% \textbf{\itshape 1.1 Lorem ipsum dolor sit amet, consectetuer adipiscing elit}, 1.
+% 1.1.1 \textit{Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis}, 15.
+% 1.1.1.1 Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna, 17.
+% 1.1.1.2 Donec vehicula augue eu neque, 21.
+% 1.1.2 \textit{Cras viverra metus rhoncus sem}, 26.
+% 1.1.2.1 Nulla et lectus vestibulum urna fringilla ultrices, 29.
+% 1.1.2.2 Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas, 34.
+% \textbf{\itshape 1.2 Nulla et lectus vestibulum urna fringilla ultrices}, 35.
+% 1.2.1 \textit{Cras viverra metus rhoncus sem}, 39.
+% 1.2.1.1 Donec vehicula augue eu neque, 40.
+% 1.2.1.2 Phasellus eu tellus sit amet tortor gravida placerat, 45.
+% 1.2.2 \textit{Mauris ut leo}, 49.
+% \end{mdframed}
+%
+% For more radical changes you can of course define your own partial ToC with your
+% favorite package or use the syntax of \sty{titletoc}
+% to redefine the levels to be customized:
+% \begin{itemize}
+% \item \opt{partialtocsection}
+% \item \opt{partialtocsubsection}
+% \item \opt{partialtocsubsubsection}
+% \item \opt{partialtocparagraph}
+% \item \opt{partialtocsubparagraph}
+% \end{itemize}
+%
+% For example, the following settings:
+%
+% \begin{latexcode}
+%\begin{verbatim}
+%\titlecontents*{partialtocsection}[0cm]
+% {}
+% {\S\ \thecontentslabel\ \itshape}
+% {}
+% {, \thecontentspage.}
+%
+%\titlecontents*{partialtocsubsection}[0cm]
+% {}
+% {\ -- \thecontentslabel\ }
+% {}
+% {, \thecontentspage.}
+%\end{verbatim}
+% \end{latexcode}
+% gives this result:
+%
+% \begin{mdframed}[backgroundcolor=philA!10,linecolor=white]
+% \footnotesize
+% § 1.1 \textit{Lorem ipsum dolor sit amet, consectetuer adipiscing elit}, 1.
+% -- 1.1.1 Ut purus elit, vestibulum ut, placerat ac, adipiscing vitae, felis, 12.
+% -- 1.1.2 Nam arcu libero, nonummy eget, consectetuer id, vulputate a, magna, 15.
+% -- 1.1.3 Donec vehicula augue eu neque, 23.
+% § 1.2 \textit{Cras viverra metusrhoncus sem}, 29.
+% -- 1.2.1 Mauris ut leo, 31.
+% -- 1.2.2 Phasellus eu tellus sit amet tortor gravida placerat, 35.
+% -- 1.2.3 Donec vehicula augue eu neque, 37.
+% § 1.3 \textit{Nulla et lectus vestibulum urna fringilla ultrices}, 42.
+% -- 1.3.1 Cras viverra metus rhoncus sem, 54.
+% -- 1.3.2 Pellentesque habitant morbi, 56.
+% -- 1.3.3 Nonummy eget, consectetuer id, 63.
+% \end{mdframed}
+%
+% The last four commands described at the beginning of this section
+% can also be used inside a group to
+% adjust the vertical spacing only for specific chapters. This is useful, for example,
+% for those chapters starting with special quotations or \textit{epigraphs}:
+% \begin{latexcode}
+%\begin{verbatim}
+%\begingroup
+%
+%\partialtocbeforespace{6cm}
+%\setlength{\beforeepigraphskip}{-5cm}
+%\setlength{\afterepigraphskip}{4cm}
+%
+%\chapter{The things in themselves are what first give rise to
+% reason, as is proven in the ontological}
+%
+%\epigraph{As is proven in the ontological manuals,
+% it is obvious that the transcendental unity
+% of apperception proves the
+% validity of the Antinomies}{G.W.F. Hegel}
+%
+%\endgroup
+%\end{verbatim}
+% \end{latexcode}
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+% \subsection{Headers and footers}
% ^^A
% ^^A ----------------------------------------------------------------
%
@@ -1282,7 +1514,7 @@ cochineal,mathpazo,bera,amsthm}
% \optitem[inner]{headerstyle}{\opt{inner}\OR\opt{center}\OR
% \opt{plain}\OR\opt{authortitleinner}\OR\opt{authortitlecenter}}
% \begin{valuelist}
-% \item[inner] Prints the chapter title and the string ``Chapter~
+% \item[inner] Prints the chapter title and ``Chapter~
% \meta{n}'' in the inner side
% of even and odd
% headers respectively, and the page number in the outer side.
@@ -1304,31 +1536,47 @@ cochineal,mathpazo,bera,amsthm}
% \item[italic] Prints the headers in \emph{italic}.
% \item[smallcaps] Prints the headers in \textsc{\lsstyle spaced small caps}.
% \end{valuelist}
+%
+% \optitem[false]{draftdate}{\opt{true}\OR\opt{false}}
+% \changes{v1.0}{2012/10/14}{First stable release. Renamed option \opt{bozza} to \opt{draftdate}}
+% If \opt{true} it prints the string ``Version of \meta{date}'' in the footer.
+% It requires the \cmd{date}\ar{\meta{date}} command.
% \end{optionlist*}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Notes, lists, quotations}
+% \subsection{Notes}\label{sec:notes}
% ^^A
% ^^A ----------------------------------------------------------------
%
+% ^^A ----------------------------------------------------------------
+% ^^A
+% \subsubsection{Options}\label{sec:notes:options}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+%\begin{figure}
+%\makeatletter
+%\fakefootnote{\renewcommand\@makefntext{%
+% \hskip-2.5em\makebox[2em][r]{\scriptsize\@thefnmark}\hskip.5em}
+%}\hfill
+%\fakefootnote{\renewcommand\@makefntext{%
+% \leftskip=1em\hskip-1.5em%
+% \makebox[1em][r]{\scriptsize\@thefnmark}\hskip.5em}}
+%
+%\medskip
+%
+%\fakefootnote{\renewcommand\@makefntext{%
+% \scriptsize\@thefnmark.\hskip.5em}%
+%}\hfill
+%\fakefootnote{\renewcommand\@makefntext{%
+% \textsuperscript{\scriptsize\@thefnmark}\hskip.3em}
+%}
+%\makeatother
+%\caption{The four styles for the footnotes: \opt{bulged}, \opt{hung}, \opt{dotted}, \opt{superscript}}\label{fig:fakefootnote}
+%\end{figure}
+%
% \begin{optionlist*}
-% \optitem[center]{quotestyle}{\opt{center}\OR\opt{right}}
-% \changes{v0.9b}{2012/09/23}{New option \opt{quotestyle}}
-% \begin{valuelist}
-% \item[center]
-% Indents the block quotations on both the left and right margins.
-% \item[right]
-% Indents the block quotations only on the left margin.
-% \end{valuelist}
-% \optitem[footnotesize]{quotesize}{\opt{footnotesize}\OR\opt{small}}
-% \changes{v0.9b}{2012/09/23}{New option \opt{quotationfont}}
-% \begin{valuelist}
-% \item[footnotesize]
-% Prints the block quotations in \cmd{footnotesize} size.
-% \item[small]
-% Prints the block quotations in \cmd{small} size.
-% \end{valuelist}
% \optitem[bulged]{footnotestyle}{\opt{bulged}\OR\opt{hung}\OR
% \opt{dotted}\OR\opt{superscript}}
% \changes{v0.9b}{2012/09/23}{Changed \opt{standardfootnote} option
@@ -1346,19 +1594,18 @@ cochineal,mathpazo,bera,amsthm}
% \end{valuelist}
% \optitem[false]{fewfootnotes}{\opt{true}\OR\opt{false}}
% \changes{v0.9b}{2012/09/23}{New option \opt{fewfootnotes}}
-% Uses symbols instead of numbers to mark footnotes.
-% It is active only in documents with
-% three footnotes per page maximum.
-% The symbol sequence is: *, **, ***.
-% With more footnotes you should not need this option.
-% \optitem[bulged]{liststyle}{\opt{bulged}\OR\opt{aligned}\OR\opt{indented}}
% \begin{valuelist}
-% \item[bulged]
-% The item number or symbol protrudes beyond the left margin.
-% \item[aligned]
-% Aligns the lists to the left margin.
-% \item[indented]
-% Prints standard indented lists.
+% \item[true] Uses symbols instead of numbers to mark the footnotes.
+% It is available only in documents with
+% three footnotes per page maximum.
+% The symbol sequence is: *, **, ***.
+% \item[false] Uses numbers to mark the footnotes.
+% \end{valuelist}
+%
+% \optitem[true]{marginpar}{\opt{true}\OR\opt{false}}
+% \begin{valuelist}
+% \item[true] Prints the marginal notes.
+% \item[false] Hide the marginal notes.
% \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:
@@ -1372,37 +1619,76 @@ cochineal,mathpazo,bera,amsthm}
% \item[smallcaps]
% Prints only the caption label in \textsc{\lsstyle spaced small caps}.
% \end{valuelist}
+%
% \end{optionlist*}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Miscellaneous}\label{sec:miscellaneous}
+% \subsubsection{Commands}\label{sec:notes:commands}
% ^^A
% ^^A ----------------------------------------------------------------
%
+% \begin{ltxsyntax}
+% \cmditem{xfootnote}[symbol]{footnote text}
+% \changes{v0.9b}{2012/09/23}{New command \cmd{xfootnote}}
+%
+% Aa command to print a footnote with a discretionary
+% symbols given in the optional argument (default:\texttt{*}).
+% It does not increment the footnote counter.
+%
+% \cmditem{marginpar}{text}
+%
+% A redefinition of the standard command that prints a marginal note
+% in italic shape and footnote size.
+% \end{ltxsyntax}
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+% \subsection{Lists and quotations}\label{sec:lists}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+%\begin{figure}
+% \fakelist{0pt}\hfill
+% \fakelist{1em}\hfill
+% \fakelist{2em}
+%\caption{The three styles for the lists: \opt{bulged}, \opt{aligned}, \opt{indented}}\label{fig:fakelist}
+%\end{figure}
+%
% \begin{optionlist*}
-% \optitem[\cmd{baselineskip}]{parindent}{\meta{dimen}}
-% \changes{v0.9b}{2012/09/23}{New option \opt{parindent}}
-% \begin{valuelist}
-% Sets the indentation of the first line of each paragraph except those following a section title. You can use any unit recognized by \TeX{} (for example: \opt{1em}\OR\opt{1cm}\OR\opt{17pt}, \ldots).
-% \end{valuelist}
-% \optitem[true]{marginpar}{\opt{true}\OR\opt{false}}
+% \optitem[bulged]{liststyle}{\opt{bulged}\OR\opt{aligned}\OR\opt{indented}}
% \begin{valuelist}
-% \item[true] Prints the marginal notes.
-% \item[false] Hide the marginal notes.
+% \item[bulged]
+% The item number or symbol protrudes beyond the left margin.
+% \item[aligned]
+% Aligns the lists to the left margin.
+% \item[indented]
+% Prints standard indented lists.
% \end{valuelist}
-% \optitem[false]{partpage}{\opt{true}\OR\opt{false}}
-% \changes{v0.9b}{2012/09/23}{New option \opt{partpage}}
-% Active only with \opt{structure=article}. With \opt{book} structure it is ineffective.
+% \end{optionlist*}
+%
+%\begin{figure}
+%\fakequotation{\rightmargin1em\leftmargin1em}\hfill
+%\fakequotation{\leftmargin1em}\hfill
+%\fakequotation{\leftmargin0pt}
+%\caption{The three styles for the block quotations: \opt{center}, \opt{right}, \opt{justify}}\label{fig:fakequotation}
+%\end{figure}
+%
+% \begin{optionlist*}
+% \optitem[center]{quotestyle}{\opt{center}\OR\opt{right}\OR\opt{justify}}
+% \changes{v0.9b}{2012/09/23}{New option \opt{quotestyle}}
% \begin{valuelist}
-% \item[true] Prints the part title in a separate page as in
-% \opt{structure=book}
-% \item[false] Prints a part title similar to the one used in the standard \opt{article} class.
+% \item[center]
+% Indents the block quotations on both the left and right margins.
+% \item[right]
+% Indents the block quotations only on the left margin.
+% \item[justify]
+% Does not indents the block quotations.
% \end{valuelist}
-% \optitem[false]{draftdate}{\opt{true}\OR\opt{false}}
-% \changes{v1.0}{2012/10/14}{First stable release. Renamed option \opt{bozza} to \opt{draftdate}}
-% If \opt{true} it prints the string ``Version of \meta{date}'' in the footer.
-% It requires the \cmd{date}\ar{\meta{date}} command.
+% \optitem[footnotesize]{quotesize}{\opt{small}, \dots, \opt{footnotesize}, \dots, \opt{scriptsize}, \dots}
+% You can use all the sizes made available by the \sty{fontsize} package.
+% \changes{v0.9b}{2012/09/23}{New option \opt{quotationfont}}
+%
% \end{optionlist*}
%
% ^^A ----------------------------------------------------------------
@@ -1439,16 +1725,205 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \section{New commands}\label{sec:commands}
+% \subsection{Title page}\label{sec:titlepage}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+% The class provides a original and simple format for the \cmd{maketitle} commad
+% but you can print a standard title too (figure \ref{fig:maketitlestyle-suftesi}).
+% The font used for the author's name, the title and the date can be
+% easily customized through options and commands as well as the order
+% of author and title can be reversed.
+%
+% \begin{figure}
+%\begin{minipage}{.5\textwidth}
+%\centering
+%\begin{tikzpicture}
+% \draw[draw=gray,fill=white,drop shadow] (0,0) rectangle (.9\textwidth,-3)
+% node[midway] {%
+% \parbox{7cm}{
+% \centering
+%
+% \textcolor{sufred}{\Large\sffamily The Art of Kicking}
+% \bigskip
+%
+% {\small Bruce Lee}
+% \smallskip
+%
+% {\small\today}
+% }
+% };
+%\end{tikzpicture}
+%\end{minipage}
+%\begin{minipage}{.5\textwidth}
+%\begin{tikzpicture}
+% \draw[draw=gray,fill=white,drop shadow] (0,0) rectangle (.9\textwidth,-3)
+% node[midway] {%
+% \parbox{7cm}{
+% \centering
+%
+% {\small Bruce Lee}
+% \bigskip
+%
+% \textcolor{sufred}{\Large\sffamily The Art of Kicking}
+% \smallskip
+%
+% {\small\today}
+% }
+% };
+%\end{tikzpicture}
+%\end{minipage}
+%
+%\bigskip
+%
+%\begin{minipage}{.5\textwidth}
+%\centering
+%\begin{tikzpicture}
+% \draw[draw=gray,fill=white,drop shadow] (0,0) rectangle (.9\textwidth,-3)
+% node[midway] {%
+% \parbox{7cm}{
+% \centering
+%
+% {\LARGE The Art of Kicking}
+% \bigskip
+%
+% {\large Bruce Lee}
+% \smallskip
+%
+% {\large\today}
+% }
+% };
+%\end{tikzpicture}
+%\end{minipage}
+%\begin{minipage}{.5\textwidth}
+%\begin{tikzpicture}
+% \draw[draw=gray,fill=white,drop shadow] (0,0) rectangle (.9\textwidth,-3)
+% node[midway] {%
+% \parbox{7cm}{
+% \centering
+%
+% {\large Bruce Lee}
+% \bigskip
+%
+% {\LARGE The Art of Kicking}
+% \smallskip
+%
+% {\large\today}
+% }
+% };
+%\end{tikzpicture}
+%\end{minipage}
+%
+%\caption{The \opt{suftesi} (above) and \opt{standard} (below) title style}
+% \label{fig:maketitlestyle-suftesi}
+%
+%
+% \end{figure}
+%
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+% \subsubsection{Options}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+% \begin{optionlist*}
+% \optitem[suftesi]{maketitlestyle}{\opt{suftesi}\OR\opt{standard}}
+% \begin{valuelist}
+% \item[suftesi] The \cmd{maketitle} command prints a \sty{suftesi}-style author-title block.
+% \item[standard] The \cmd{maketitle} command prints a standard author-title block.
+% \end{valuelist}
+%
+% \optitem[false]{reverseauthortitle}{\opt{true}\OR\opt{false}}
+% \begin{valuelist}
+% \item[true] Prints the author’s name above (below with \opt{structure=collection}) the title.
+% \item[false] Prints the author’s name below (below with \opt{structure=collection}) the title.
+% \end{valuelist}
+%
+% \optitem[roman]{titlefont}{\opt{roman}\OR\opt{italic}\OR\opt{smallcaps}}
+% \begin{valuelist}
+% \item[roman] Prints the title in roman.
+% \item[italic] Prints the title in \emph{italic}.
+% \item[smallcaps] Prints the title
+% in \textsc{\lsstyle spaced small caps}.
+% \end{valuelist}
+%
+% \optitem[roman]{authorfont}{\opt{roman}\OR\opt{italic}\OR\opt{smallcaps}}
+% \begin{valuelist}
+% \item[roman] Prints the author's name in roman.
+% \item[italic] Prints the author's name in \emph{italic}.
+% \item[smallcaps] Prints the author's name in \textsc{\lsstyle spaced small caps}.
+% With this option remember to protect the \cmd{thanks} command:\\
+% |\author{The Author\protect\thanks{...}}|.
+% \end{valuelist}
+%
+% \optitem[roman]{datefont}{\opt{roman}\OR\opt{italic}\OR\opt{smallcaps}}
+% \begin{valuelist}
+% \item[roman] Prints the date in roman.
+% \item[italic] Prints the date in \emph{italic}.
+% \item[smallcaps] Prints the date in \textsc{\lsstyle spaced small caps}.
+% \end{valuelist}
+%
+% \end{optionlist*}
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+% \subsubsection{Commands}\label{sec:titlepage-commands}
% ^^A
% ^^A ----------------------------------------------------------------
%
+% \begin{ltxsyntax}
+% \cmditem{title}[short title for headers]{complete title for title page}
+% \changes{v0.8}{2012/03/19}{Renewed \cmd{title} command}
+%
+% Redefinition of the standard command with a new optional argument
+% for the short title to be printed in the headers. Particularly useful
+% with the \opt{headerstyle=authortitle} option.
+%
+% \cmditem{titlefont}{definition}
+% \cmditem{authorfont}{definition}
+% \cmditem{datefont}{definition}
+%
+% These commands change the font of title, author's name and date printed by \cmd{maketitle}. You can combine them with the \opt{maketitlestyle} option. For example:
+%
+% \begin{latexcode}
+%\begin{verbatim}
+%\titlefont{\bfseries\sffamily\scshape}
+%\authorfont{\itshape\sffamily}
+%\end{verbatim}
+% \end{latexcode}
+% \end{ltxsyntax}
+%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Composing the cover page}
+% \subsection{Cover page}
% ^^A
% ^^A ----------------------------------------------------------------
%
+% Since version 2.6 \sty{suftesi} provides a command to print a simple
+% cover page (figure \ref{fig:cover}), inspired by the Italian designer
+% Bruno \textcite[85-89]{munari:arte-come-mestiere}. The color used for
+% the text and the circle as well as other graphical elements are partially
+% customizable. The cover shown
+% in figure \ref{fig:cover} is obtained with the following code:
+% \begin{latexcode}
+%\begin{verbatim}
+%\Cauthor{Bruce Lee}
+%\Ctitle{The Art of Kicking}
+%\Csubtitle{How to survive in the modern societies}
+%\Ceditor{edited by\\ Walker Texas Ranger}
+%\Cfoot{Punch Press\\ \fbox{\bfseries P\&P}}
+%\Cpagecolor{white!90!black}
+%\Ctextcolor{white}
+%\Cfootcolor{black}
+% \makecover[ball color=DarkBlue,draw=none]
+%\end{verbatim}
+% \end{latexcode}
+%
+% To produce a complete book cover, with spine and dust jacket, you should
+% take a look at the \sty{bookcover} class by Tibor \textcite{bookcover}.
+%
+%
% \begin{ltxsyntax}
% \cmditem{makecover}
% \cmditem{makecover}[tikz options]
@@ -1526,7 +2001,7 @@ cochineal,mathpazo,bera,amsthm}
%\usetikzlibrary{shadows}
%...
%\begin{document}
-%\makecover[circular drop shadow]
+% \makecover[circular drop shadow]
%\end{document}
%\end{verbatim}
% \end{latexcode}
@@ -1541,15 +2016,111 @@ cochineal,mathpazo,bera,amsthm}
%\Cfootcolor{black}
%
%\begin{document}
-%\makecover[fill=blue!30!black,draw=teal,line width=2mm,dashed]
+% \makecover[fill=blue!30!black,draw=teal,line width=2mm,dashed]
%\end{document}
%\end{verbatim}
+% \end{latexcode}
+%
+%\begin{figure}
+%\begin{minipage}{.5\textwidth}
+%\centering
+%\begin{tikzpicture}[scale=0.4]%
+%\draw[draw=gray,fill=white,drop shadow] (-\textwidth,0) rectangle (\textwidth,.9\textheight);
+%\draw[line width=.1pt,draw=black] (-4.2,18.1) circle (13mm) node {\parbox{10mm}{\centering\tiny ---*---\\[-.5mm] St. Anford\\ University\\ ---*--- }};
+% \node[scale=0.4,anchor=north west] at (-2.5cm,19cm) {%
+% \parbox{8cm}{%
+% \small University of St. Anford\par
+% \normalsize Department of Typography
+% \vskip1ex\hrule\vskip1.2ex
+% \large Ph.D. degree in \TeX{} and \LaTeX
+%
+% \vspace{3cm}
+%
+% {\LARGE\sffamily\color{sufred} How to prepare\par
+% a formal frontispiece\par}
+% \vspace{2ex}
+%
+% {\normalsize\sffamily Theory and practice\par}
+%
+% \vspace{2cm}
+%
+% {\normalsize\sffamily Candidate:\par}
+% \small Enrico Gregorio
+% \vspace{5ex}
+%
+% {\normalsize\sffamily Thesis advisor:\par}
+% \small Prof. R. J. Drofnats
+% \vspace{2ex}
+%
+% {\normalsize\sffamily Research supervisors:\par}
+% \small J. H. Quick\par
+% B. L. User\vspace{3.5cm}
+%
+% Thesis submitted in 2010
+% }
+% };
+%\end{tikzpicture}
+%\caption{The frontispiece of \sty{suftesi}}\label{fig:frontispiece}
+%\end{minipage}
+%\begin{minipage}{.5\textwidth}
+%\centering
+%\begin{tikzpicture}[scale=0.4]%
+%\draw[draw=gray,fill=gray!5,drop shadow] (-\textwidth,0) rectangle (\textwidth,.9\textheight);
+% \node at (0,.65\textheight) (c) {};
+% \draw[ball color=DarkBlue,draw=none] (c) circle (4.5cm);
+% \node[scale=0.4,anchor=center,text=white] at (c) {\parbox{6cm}{%
+% \centering
+% {\scriptsize\scshape Bruce Lee\\}
+% \vspace*{\baselineskip}
+%
+% {\Large\bfseries The Art of Kicking\\}
+%
+% {\smallskip\normalsize How to survive in the modern societies\\}
+%
+% {\vspace*{2\baselineskip}\scriptsize edited by\\ Walker Texas Ranger\\}}};
+% \node[align=center] at (0,2) {\scriptsize \textcolor{black}{Punch Press}\\\textcolor{black}{\bfseries\small P\&P}};
+%\end{tikzpicture}
+%\caption{A cover page of \sty{suftesi}}\label{fig:cover}
+%\end{minipage}
+%\end{figure}
+%
+% ^^A ----------------------------------------------------------------
+% ^^A
+% \subsection{Frontispiece}
+% ^^A
+% ^^A ----------------------------------------------------------------
+%
+% The class has an original frontispiece (see figure \ref{fig:frontispiece})
+% now directly available loading the \sty{frontespizio} package
+% with the \opt{suftesi} option. It is meant only for Italian users
+% \parencite[see][version 1.4 or later]{Gregorio:frontespizio}:
+%
+% \begin{latexcode}
+%\begin{verbatim}
+%\usepackage[suftesi]{frontespizio}
+%\end{verbatim}
% \end{latexcode}
%
+% Note that this frontispiece requires the use of a logo which could be
+% restricted by some institutions. So before using it you have to be sure
+% that you have the required permissions.
+%
+% The \sty{frontespizio} package produces a frontispiece in the standard
+% Computer Modern typeface. If you prefer a consistent font remember
+% to load the needed packages or commands in the \cmd{Preambolo} command:
+%
+% \begin{latexcode}
+%\begin{verbatim}
+%\begin{frontespizio}
+% \Preambolo{\usepackage[osf]{cochineal}}% <===
+% ...
+%\end{frontespizio}
+%\end{verbatim}
+% \end{latexcode}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection{Printing the colophon}
+% \subsection{Colophon}
% ^^A
% ^^A ----------------------------------------------------------------
%
@@ -1634,168 +2205,6 @@ cochineal,mathpazo,bera,amsthm}
%
% ^^A ----------------------------------------------------------------
% ^^A
-% \subsection[Breaking titles]{Breaking titles in header and table of contents}
-% ^^A
-% ^^A ----------------------------------------------------------------
-%
-% \begin{ltxsyntax}
-% \cmditem{breakintoc}
-%
-% A manual break which is active for the table of contents but not in the text or in the headers.
-%
-% \begin{latexcode}
-%\begin{verbatim}
-%\section{This title will be break here \breakintoc inside the contents}
-%\end{verbatim}
-% \end{latexcode}
-% \cmditem{breakinbody}
-% \cmditem{breakinbodyleft}
-%
-% Manual breaks which are active in the body text but not in the headers
-% and in the table of contents. The difference between the two
-% commands is that the former executes |\\| while the latter uses \cmd{newline}. The second one should be used with the \opt{\meta{level}style=left} options to avoid bad line alignments.
-%
-% \begin{latexcode}
-%\begin{verbatim}
-%\section{This title will be break here \breakinbody inside the body text}
-%\section{This title will be break here \breakinbodyleft inside the body text}
-%\end{verbatim}
-% \end{latexcode}
-% \end{ltxsyntax}
-%
-% \changes{v0.5}{2011/10/21}{New command \opt{chapnumfont}}
-%
-% ^^A ----------------------------------------------------------------
-% ^^A
-% \subsection{Customizing titles}\label{sec:secfont}
-% ^^A
-% ^^A ----------------------------------------------------------------
-%
-% \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.
-%
-% \begin{ltxsyntax}
-% \cmditem*{\meta{level}font}{definition}
-% \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}.
-% The second command changes the ToC entry.
-%
-% \cmditem*{\meta{level}numfont}{definition}
-% \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}.
-% The second command changes the ToC entry.
-%
-% For example, if you used the \opt{chapfont=smallcaps} option, you can change the size of the chapter title accordingly with:
-% \begin{latexcode}
-%\begin{verbatim}
-%\chapfont{\fontsize{13}{17}\scshape\lsstyle\expandafter\MakeLowercase}
-%\end{verbatim}
-% \end{latexcode}
-%
-% Combining these commands you can get something like this (or something worse/better):
-% \begin{latexcode}
-%\begin{verbatim}
-%\documentclass[pagelayout=periodical\partnameaureo,11pt,
-%version=cscreen,chapstyle=parright]{suftesi}
-%
-%\usepackage{xcolor,lipsum}
-%
-%\chapfont{\bfseries\sffamily\scshape\LARGE}
-%\secfont{\sffamily\fontsize{14.5}{15.5}\selectfont}
-%
-%\chapnumfont{\hskip1cm\hbox{\bfseries\fontsize{100}{100}\selectfont%
-%\color{gray}\arabic{chapter}}\hskip-1cm}
-%\secnumfont{\bfseries---\,\arabic{chapter}.\arabic{section}}
-%
-%\begin{document}
-%
-%\chapter{Lorem ipsum dolor sit amet, consectetuer adipiscing elit}
-%
-%\section{Dolor sit amet}
-%\lipsum[1-2]
-%
-%\section{Lorem ipsum dolor sit amet}
-%\subsection{Dolor sit amet}
-%\lipsum[1]
-%
-%\end{document}
-%\end{verbatim}
-% \end{latexcode}
-% \end{ltxsyntax}
-%
-% ^^A ----------------------------------------------------------------
-% ^^A
-% \subsection{Miscellaneous}
-% ^^A
-% ^^A ----------------------------------------------------------------
-%
-% \begin{ltxsyntax}
-% \cmditem{xfootnote}[symbol]{footnote text}
-% \changes{v0.9b}{2012/09/23}{New command \cmd{xfootnote}}
-%
-% A command to print a footnote with a discretionary
-% symbols given in the optional argument (default:\texttt{*}).
-% It does not increment the footnote counter.
-%
-% \cmditem{title}[short title for headers]{complete title for titlepage}
-% \changes{v0.8}{2012/03/19}{Renewed \cmd{title} command}
-%
-% Useful with \opt{headerstyle=authortitle} option if the title is too long
-% or has some breaks.
-%
-% \end{ltxsyntax}
-%
-% \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}|.
-% \end{ltxsyntax}
-%
-% \begin{ltxsyntax}
-%
-% \cmditem{chapterintro}
-%
-% Prints an unnumbered introduction at the beginning of the chapter,
-% with the correct hyperlink. In order to use this command the \sty{hyperref} package must be loaded.
-%
-% \cmditem{chapterintroname}{name}\hfill default: \texttt{Introduzione}
-%
-% Changes in \meta{name} the title printed by the \cmd{chapterintro} command.
-%
-% \cmditem{appendixpage}
-%
-% Prints a page with the title provided by \cmd{appendixpagename} (default:\texttt{Appendices}) at the center according to the \opt{partfont} option.
-% To redefine the \cmd{appendixpagename} command see the \sty{appendix} package documentation.
-%
-% \cmditem*{tocpartname}{definition}\hfill default: \cmd{partname}
-%
-% Changes the definition of ``Part'' name in ToC. For example:
-% \begin{latexcode}
-%\begin{verbatim}
-%\tocpartname{\begingroup\sffamily\Huge Part\endgroup}
-%\end{verbatim}
-% \end{latexcode}
-% To change the definition of \cmd{partname} you have to use the commands provided
-% by the \sty{babel} package. For example, if the document is in Italian you will
-% need something like this:
-% \begin{latexcode}
-%\begin{verbatim}
-%\addto{\captionsitalian}{%
-% \renewcommand{\partname}{\begingroup\sffamily\Huge Parte\endgroup}
-%\end{verbatim}
-% \end{latexcode}
-% Note that in both cases the definition must be enclosed in a group
-% to prevent it from changing what follows (i.e. the part number and the part title).
-% \end{ltxsyntax}
-%
-% ^^A ----------------------------------------------------------------
-% ^^A
% \section{The \opt{collection} structure}\label{sec:collection}
% ^^A
% ^^A ----------------------------------------------------------------
@@ -1842,18 +2251,13 @@ cochineal,mathpazo,bera,amsthm}
%
% \begin{optionlist*}
%\addtolength{\linewidth}{-2em}
-% \optitem[left]{papertitlestyle}{\opt{left}\OR\opt{center}\OR\opt{right}}
+% \optitem[left]{authortitlealign}{\opt{left}\OR\opt{center}\OR\opt{right}}
% \begin{valuelist}
% \item[left] Aligns the author-title block on the left.
% \item[center] Centers the author-title block.
% \item[right] Aligns the author-title block on the right.
% \end{valuelist}
-% \optitem[false]{revauthortitle}{\opt{true}\OR\opt{false}}
-% \begin{valuelist}
-% \item[true] Prints the author’s name below the title.
-% \item[false] Prints the author’s name above the title.
-% \end{valuelist}
-% \optitem[italic]{titlefont}{\opt{roman}\OR\opt{italic}\OR\opt{smallcaps}}
+% \optitem[roman]{titlefont}{\opt{roman}\OR\opt{italic}\OR\opt{smallcaps}}
% \begin{valuelist}
% \item[roman] Prints the title of the articles in roman.
% \item[italic] Prints the title of the articles in \emph{italic}.
@@ -1864,16 +2268,9 @@ cochineal,mathpazo,bera,amsthm}
% \begin{valuelist}
% \item[roman] Prints the author's name in roman.
% \item[italic] Prints the author's name in \emph{italic}.
-% \item[smallcaps] Prints the author's name in \textsc{\lsstyle spaced small caps}.
-%
-% Note that if you use this last option you need
-% to protect the \cmd{thanks} command:
-%
-% \begin{latexcode}
-%\begin{verbatim}
-%\author{The Author\protect\thanks{...}}
-%\end{verbatim}
-% \end{latexcode}
+% \item[smallcaps] Prints the author's name in \textsc{\lsstyle spaced small caps}.
+% With this option remember to protect the \cmd{thanks} command:\\
+% |\author{The Author\protect\thanks{...}}|.
% \end{valuelist}
% \optitem[italic]{toctitlefont}{\opt{roman}\OR\opt{italic}\OR\opt{smallcaps}}
% \begin{valuelist}
@@ -1899,11 +2296,9 @@ cochineal,mathpazo,bera,amsthm}
%
% \begin{ltxsyntax}
%
-% \cmditem{frontispiece}
+% \cmditem{collectiontitlepage}
%
-% Typeset the frontispiece of the collection.
-%
-% It requires the \cmd{collectiontitle} and \cmd{collectioneditor} commands in the preamble of your document.
+% Typeset the title page of the collection.
%
% \cmditem{collectiontitle}{The Title of the Collection}
%
@@ -1913,21 +2308,7 @@ cochineal,mathpazo,bera,amsthm}
%
% Sets the editor(s) of the collection.
%
-% \cmditem{titlefont}{definition}
-%
-% \changes{v2.9.4}{2020/001/29}{New commands to change the font of the title of the articles and of the author's name in the collections}
-%
-% \cmditem{authorfont}{definition}
-%
-% Changes the font of the title of the articles and of the author's name. For example:
-%
-% \begin{latexcode}
-%\begin{verbatim}
-%\titlefont{\bfseries\sffamily\scshape}
-%\authorfont{\itshape\sffamily}
-%\end{verbatim}
-% \end{latexcode}
-% \end{ltxsyntax}
+% \end{ltxsyntax}
%
% ^^A ----------------------------------------------------------------
% ^^A
@@ -1956,8 +2337,10 @@ cochineal,mathpazo,bera,amsthm}
% \changes{v1.3}{2013/03/05}{New command \cmd{FSPLcolophon}}
% \begin{ltxsyntax}
% \cmditem{FSPLcolophon}{Name Surname}
-% \end{ltxsyntax}
+%
% A command is provided to typeset the colophon according to the \opt{FSPL} styles.
+% \end{ltxsyntax}
+%
% \changes{v0.9a}{2012/08/31}{New options, \opt{defaultparindent},
% \opt{ralignquotation}, \opt{smallquotation}, \opt{dottedfootnote}, \opt{indentlist},
% \opt{alignlist}, \opt{centerpart}, \opt{centerchap}, \opt{centersec}, \opt{rightpart},
@@ -1990,54 +2373,56 @@ cochineal,mathpazo,bera,amsthm}
%
% \begin{macrocode}
\RequirePackage{xkeyval}
-\newif\ifsuftesi@compatibility
-\newif\ifsuftesi@nofont
-\newif\ifsuftesi@greekfont
+\newif\ifsuftesi@article
+\newif\ifsuftesi@authortitle
+\newif\ifsuftesi@collection
\newif\ifsuftesi@standard
\newif\ifsuftesi@cochineal
\newif\ifsuftesi@libertine
\newif\ifsuftesi@palatino
+\newif\ifsuftesi@compatibility
+\newif\ifsuftesi@nofont
+\newif\ifsuftesi@greekfont
\newif\ifsuftesi@porson
\newif\ifsuftesi@artemisia
\newif\ifsuftesi@bodoni
\newif\ifsuftesi@cbgreek
\newif\ifsuftesi@mathminimal
\newif\ifsuftesi@mathextended
-\newif\ifsuftesi@centerheader
-\newif\ifsuftesi@sufplain
-\newif\ifsuftesi@article
-\newif\ifsuftesi@authortitle
\newif\ifsuftesi@periodical
\newif\ifsuftesi@periodicalaureo
\newif\ifsuftesi@compact
\newif\ifsuftesi@compactaureo
\newif\ifsuftesi@supercompact
\newif\ifsuftesi@supercompactaureo
+\newif\ifsuftesi@pocketa
+\newif\ifsuftesi@pocketb
+\newif\ifsuftesi@pocketc
\newif\ifsuftesi@screen
\newif\ifsuftesi@screencentered
-\newif\ifsuftesi@dottedtoc
-\newif\ifsuftesi@raggedtoc
+\newif\ifsuftesi@centerheader
+\newif\ifsuftesi@sufplain
\newif\ifsuftesi@numparpart
\newif\ifsuftesi@numparchap
\newif\ifsuftesi@numparsec
\newif\ifsuftesi@numparsubsec
\newif\ifsuftesi@numparsubsubsec
-\newif\ifsuftesi@smallcapspart
-\newif\ifsuftesi@smallcapschap
-\newif\ifsuftesi@smallcapssec
-\newif\ifsuftesi@draftdate
-\newif\ifsuftesi@fewfootnotes
-\newif\ifsuftesi@partpage
-\newif\ifsuftesi@FSPL
+\newif\ifsuftesi@dottedtoc
+\newif\ifsuftesi@raggedtoc
\newif\ifsuftesi@pagelefttoc
\newif\ifsuftesi@twocolumntoc
\newif\ifsuftesi@twocolumnlof
\newif\ifsuftesi@twocolumnlot
-\newif\ifsuftesi@reverseauthortitle
-\newif\ifsuftesi@collection
+\newif\ifsuftesi@partialtoc
\newif\ifsuftesi@toccompactsec
\newif\ifsuftesi@toccompactsubsec
\newif\ifsuftesi@toccompactsubsubsec
+\newif\ifsuftesi@toccompactpar
+\newif\ifsuftesi@toccompactsubpar
+\newif\ifsuftesi@draftdate
+\newif\ifsuftesi@fewfootnotes
+\newif\ifsuftesi@partpage
+\newif\ifsuftesi@FSPL
% \end{macrocode}
% The class is based on the standard \sty{book} class but the following options are disabled as they contrast with the layouts provided by the class. Specifically, the first five options are actually ineffective, while the \opt{landscape} option rotates the page correctly, but sets the text width according to the class options, effectively making it unusable.
% \begin{macrocode}
@@ -2065,12 +2450,12 @@ cochineal,mathpazo,bera,amsthm}
\ExecuteOptionsX{parindent=\baselineskip}
\ProcessOptionsX*\relax
% \end{macrocode}
-% \subsection{Options definition}
+% \subsection{Options setting}
% \subsubsection{Structure}
% \begin{macrocode}
-\define@choicekey{}{structure}[\val\nr]
+\define@choicekey{}{structure}[\suftesi@val\suftesi@nr]
{book,article,collection}[book]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
% \disable@keys{}{secnumstyle}
\def\SUF@chapswitch{\thechapter.}
\or
@@ -2082,12 +2467,12 @@ cochineal,mathpazo,bera,amsthm}
\setkeys{}{headerstyle=authortitleinner}
\def\SUF@chapswitch{}
\fi}
-\define@choicekey{}{documentstructure}[\val\nr]
+\define@choicekey{}{documentstructure}[\suftesi@val\suftesi@nr]
{book,article,collection}[book]{%
\ClassWarningNoLine{suftesi}{%
'documentstructure' option is deprecated.\MessageBreak
Use 'structure' option instead}
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\setkeys{}{structure=book}
\or
\setkeys{}{structure=article}
@@ -2098,9 +2483,9 @@ cochineal,mathpazo,bera,amsthm}
% \subsubsection{Fonts}
% \paragraph{Roman fonts}
% \begin{macrocode}
-\define@choicekey{}{defaultfont}[\val\nr]
+\define@choicekey{}{defaultfont}[\suftesi@val\suftesi@nr]
{none,cochineal,libertine,palatino,standard,compatibility}[cochineal]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@nofonttrue
\or
\suftesi@cochinealtrue
@@ -2113,9 +2498,9 @@ cochineal,mathpazo,bera,amsthm}
\or
\suftesi@compatibilitytrue
\fi}
-\define@choicekey{}{mathfont}[\val\nr]
+\define@choicekey{}{mathfont}[\suftesi@val\suftesi@nr]
{none,minimal,extended}[minimal]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@mathminimalfalse
\suftesi@mathextendedfalse
\or
@@ -2126,9 +2511,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Greek fonts}
% \begin{macrocode}
-\define@choicekey{}{greekfont}[\val\nr]
+\define@choicekey{}{greekfont}[\suftesi@val\suftesi@nr]
{none,artemisia,porson,bodoni,cbgreek}[none]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@greekfontfalse
\or
\suftesi@greekfonttrue\suftesi@artemisiatrue
@@ -2143,10 +2528,10 @@ cochineal,mathpazo,bera,amsthm}
% \subsubsection{Layouts}
% \begin{macrocode}
\RequirePackage{geometry}
-\define@choicekey{}{pagelayout}[\val\nr]
+\define@choicekey{}{pagelayout}[\suftesi@val\suftesi@nr]
{standard,standardaureo,periodical,periodicalaureo,compact,compactaureo,
supercompact,supercompactaureo,pocketa,pocketb,pocketc}[standard]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\DeclareRobustCommand{\SUF@partsize}{\Large}
\DeclareRobustCommand{\SUF@chaptersize}{\Large}
\DeclareRobustCommand{\SUF@sectionsize}{\large}
@@ -2278,8 +2663,8 @@ cochineal,mathpazo,bera,amsthm}
marginratio= 1:1,
marginparwidth= 11mm,
marginparsep= 7pt}
-\or% pocketa
-\suftesi@supercompactaureotrue
+\or
+\suftesi@pocketatrue
\DeclareRobustCommand{\SUF@partsize}{\large}
\DeclareRobustCommand{\SUF@chaptersize}{\large}
\DeclareRobustCommand{\SUF@sectionsize}{\normalsize}
@@ -2296,8 +2681,8 @@ cochineal,mathpazo,bera,amsthm}
vmarginratio= 2:3,
marginparwidth= 12mm,
marginparsep= 7pt}
-\or% pocketb
-\suftesi@supercompactaureotrue
+\or
+\suftesi@pocketBtrue
\DeclareRobustCommand{\SUF@partsize}{\large}
\DeclareRobustCommand{\SUF@chaptersize}{\large}
\DeclareRobustCommand{\SUF@sectionsize}{\normalsize}
@@ -2314,8 +2699,8 @@ cochineal,mathpazo,bera,amsthm}
vmarginratio= 2:3,
marginparwidth= 15mm,
marginparsep= 7pt}
-\or% pocketc
-\suftesi@supercompactaureotrue
+\or
+\suftesi@pocketCtrue
\DeclareRobustCommand{\SUF@partsize}{\large}
\DeclareRobustCommand{\SUF@chaptersize}{\large}
\DeclareRobustCommand{\SUF@sectionsize}{\normalsize}
@@ -2336,15 +2721,15 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \subsubsection{Sections style}
% \begin{macrocode}
-\define@choicekey{}{partstyle}[\val\nr]
+\define@choicekey{}{partstyle}[\suftesi@val\suftesi@nr]
{left,center,right,parleft,parcenter,parright}[left]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@lr@PARTSwitch{\filright}
\or
\def\SUF@lr@PARTSwitch{\filcenter}
\or
\def\SUF@lr@PARTSwitch{\filleft}
-\or%numpar
+\or
\def\SUF@lr@PARTSwitch{\filright}
\suftesi@numparparttrue
\or
@@ -2354,15 +2739,15 @@ cochineal,mathpazo,bera,amsthm}
\def\SUF@lr@PARTSwitch{\filleft}
\suftesi@numparparttrue
\fi}
-\define@choicekey{}{chapstyle}[\val\nr]
+\define@choicekey{}{chapstyle}[\suftesi@val\suftesi@nr]
{left,center,right,parleft,parcenter,parright}[left]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@lr@CHAPSwitch{\filright}
\or
\def\SUF@lr@CHAPSwitch{\filcenter}
\or
\def\SUF@lr@CHAPSwitch{\filleft}
-\or%numparchap
+\or
\def\SUF@lr@CHAPSwitch{\filright}
\suftesi@numparchaptrue
\or
@@ -2372,15 +2757,15 @@ cochineal,mathpazo,bera,amsthm}
\def\SUF@lr@CHAPSwitch{\filleft}
\suftesi@numparchaptrue
\fi}
-\define@choicekey{}{secstyle}[\val\nr]
+\define@choicekey{}{secstyle}[\suftesi@val\suftesi@nr]
{left,center,right,parleft,parcenter,parright}[left]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@lr@SECSwitch{\filright}
\or
\def\SUF@lr@SECSwitch{\filcenter}
\or
\def\SUF@lr@SECSwitch{\filleft}
-\or%numparsec
+\or
\def\SUF@lr@SECSwitch{\filright}
\suftesi@numparsectrue
\or
@@ -2390,96 +2775,114 @@ cochineal,mathpazo,bera,amsthm}
\def\SUF@lr@SECSwitch{\filleft}
\suftesi@numparsectrue
\fi}
-\define@choicekey{}{subsecstyle}[\val\nr]
+\define@choicekey{}{subsecstyle}[\suftesi@val\suftesi@nr]
{left,center,right,parleft,parcenter,parright}[left]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@lr@SUBSECSwitch{\filright}
\or
\def\SUF@lr@SUBSECSwitch{\filcenter}
\or
\def\SUF@lr@SUBSECSwitch{\filleft}
-\or%numparsubsec
-\def\SUF@lr@SUBSECSwitch{\filright}
+\or
+ \def\SUF@lr@SUBSECSwitch{\filright}
\suftesi@numparsubsectrue
\or
-\def\SUF@lr@SUBSECSwitch{\filcenter}
+ \def\SUF@lr@SUBSECSwitch{\filcenter}
\suftesi@numparsubsectrue
\or
-\def\SUF@lr@SUBSECSwitch{\filleft}
+ \def\SUF@lr@SUBSECSwitch{\filleft}
\suftesi@numparsubsectrue
\fi}
-\define@choicekey{}{subsubsecstyle}[\val\nr]
+\define@choicekey{}{subsubsecstyle}[\suftesi@val\suftesi@nr]
{left,center,right,parleft,parcenter,parright}[left]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@lr@SUBSUBSECSwitch{\filright}
\or
\def\SUF@lr@SUBSUBSECSwitch{\filcenter}
\or
\def\SUF@lr@SUBSUBSECSwitch{\filleft}
-\or%numparsubsubsec
-\def\SUF@lr@SUBSUBSECSwitch{\filright}
+\or
+ \def\SUF@lr@SUBSUBSECSwitch{\filright}
\suftesi@numparsubsubsectrue
\or
-\def\SUF@lr@SUBSUBSECSwitch{\filcenter}
+ \def\SUF@lr@SUBSUBSECSwitch{\filcenter}
\suftesi@numparsubsubsectrue
\or
-\def\SUF@lr@SUBSUBSECSwitch{\filleft}
+ \def\SUF@lr@SUBSUBSECSwitch{\filleft}
\suftesi@numparsubsubsectrue
\fi}
% \end{macrocode}
% \subsubsection{Sections font}
% \begin{macrocode}
-\define@choicekey{}{partfont}[\val\nr]
+\define@choicekey{}{partfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@PART@StyleSwitch{\relax}
\or
\def\SUF@PART@StyleSwitch{\itshape}
\or
\def\SUF@PART@StyleSwitch{\expandafter\SUF@titlesmallcaps}
\fi}
-\define@choicekey{}{chapfont}[\val\nr]
+\define@choicekey{}{chapfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@CHAP@StyleSwitch{\relax}
\or
\def\SUF@CHAP@StyleSwitch{\itshape}
\or
\def\SUF@CHAP@StyleSwitch{\expandafter\SUF@titlesmallcaps}
\fi}
-\define@choicekey{}{secfont}[\val\nr]
+\define@choicekey{}{secfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[italic]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@SEC@StyleSwitch{\relax}
\or
\def\SUF@SEC@StyleSwitch{\itshape}
\or
\def\SUF@SEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
\fi}
-\define@choicekey{}{subsecfont}[\val\nr]
+\define@choicekey{}{subsecfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@SUBSEC@StyleSwitch{\relax}
\or
\def\SUF@SUBSEC@StyleSwitch{\itshape}
\or
\def\SUF@SUBSEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
\fi}
-\define@choicekey{}{subsubsecfont}[\val\nr]
+\define@choicekey{}{subsubsecfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@SUBSUBSEC@StyleSwitch{\relax}
\or
\def\SUF@SUBSUBSEC@StyleSwitch{\itshape}
\or
\def\SUF@SUBSUBSEC@StyleSwitch{\expandafter\SUF@titlesmallcaps}
\fi}
+\define@choicekey{}{parfont}[\suftesi@val\suftesi@nr]
+ {roman,italic,smallcaps}[roman]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@PAR@StyleSwitch{\relax}
+\or
+ \def\SUF@PAR@StyleSwitch{\itshape}
+\or
+ \def\SUF@PAR@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+\fi}
+\define@choicekey{}{subparfont}[\suftesi@val\suftesi@nr]
+ {roman,italic,smallcaps}[roman]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@SUBPAR@StyleSwitch{\relax}
+\or
+ \def\SUF@SUBPAR@StyleSwitch{\itshape}
+\or
+ \def\SUF@SUBPAR@StyleSwitch{\expandafter\SUF@titlesmallcaps}
+\fi}
% \end{macrocode}
% \paragraph{Small capitals style}
% \begin{macrocode}
-\define@choicekey{}{smallcapsstyle}[\val\nr]
+\define@choicekey{}{smallcapsstyle}[\suftesi@val\suftesi@nr]
{low,upper}[low]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\suftesi@MakeTextLowercase{\MakeLowercase}
\def\suftesi@MakeTextTOCLowercase{\lowercase}
\or
@@ -2490,9 +2893,9 @@ cochineal,mathpazo,bera,amsthm}
% \subsubsection{Sections number}
% \paragraph{Part number style}
% \begin{macrocode}
-\define@choicekey{}{partnumstyle}[\val\nr]
+\define@choicekey{}{partnumstyle}[\suftesi@val\suftesi@nr]
{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@thepart{\arabic{part}}
\def\SUF@dotpart{}
\or
@@ -2514,9 +2917,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Chapter number style}
% \begin{macrocode}
-\define@choicekey{}{chapnumstyle}[\val\nr]
+\define@choicekey{}{chapnumstyle}[\suftesi@val\suftesi@nr]
{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@thechapter{\arabic{chapter}}
\def\SUF@HEAD@thechapter{\arabic{chapter}}
\def\SUF@dotchap{}
@@ -2550,9 +2953,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Section number style}
% \begin{macrocode}
-\define@choicekey{}{secnumstyle}[\val\nr]
+\define@choicekey{}{secnumstyle}[\suftesi@val\suftesi@nr]
{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@thesection{\SUF@chapswitch\arabic{section}}
\def\SUF@HEAD@thesection{\arabic{section}}
\def\SUF@dotsec{}
@@ -2586,9 +2989,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Subsection number style}
% \begin{macrocode}
-\define@choicekey{}{subsecnumstyle}[\val\nr]
+\define@choicekey{}{subsecnumstyle}[\suftesi@val\suftesi@nr]
{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@thesubsection{\SUF@thesection.\arabic{subsection}}
\def\SUF@dotsubsec{}
\def\SUF@SUBSEC@thecontentslabel{\thecontentslabel}
@@ -2616,9 +3019,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Sub-subsection number style}
% \begin{macrocode}
-\define@choicekey{}{subsubsecnumstyle}[\val\nr]
+\define@choicekey{}{subsubsecnumstyle}[\suftesi@val\suftesi@nr]
{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@thesubsubsection{\SUF@thesubsection.\arabic{subsubsection}}
\def\SUF@dotsubsubsec{}
\def\SUF@SUBSUBSEC@thecontentslabel{\thecontentslabel}
@@ -2647,9 +3050,9 @@ cochineal,mathpazo,bera,amsthm}
% \subsubsection{Table of contents}
% \paragraph{Table of contents style}
% \begin{macrocode}
-\define@choicekey{}{tocstyle}[\val\nr]
+\define@choicekey{}{tocstyle}[\suftesi@val\suftesi@nr]
{standard,dotted,ragged,leftpage}[standard]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@titlerule{\titlerule*{}}
\def\SUF@chaptitlerule{\titlerule*{}}
\or
@@ -2663,33 +3066,52 @@ cochineal,mathpazo,bera,amsthm}
\or
\suftesi@pagelefttoctrue
\fi}
-\define@choicekey{}{compacttoc}[\val\nr]
- {sec,subsec,subsubsec}[sec]{%
-\ifcase\nr\relax
+\define@choicekey{}{compacttoc}[\suftesi@val\suftesi@nr]
+ {sec,subsec,subsubsec,par,subpar}[sec]{%
+\ifcase\suftesi@nr\relax
\suftesi@toccompactsectrue
\suftesi@toccompactsubsectrue
\suftesi@toccompactsubsubsectrue
- \def\suf@sscorrect{\hskip.5em}
- \def\suf@ssscorrect{\hskip.5em}
- \def\suf@ctocdotsec{.}
- \def\suf@ctocdotssec{}
- \def\suf@ctocdotsssec{}
+ \suftesi@toccompactpartrue
+ \suftesi@toccompactsubpartrue
+ \def\SUF@sscorrect{\hskip.5em}
+ \def\SUF@ssscorrect{\hskip.5em}
+ \def\SUF@pcorrect{\hskip.5em}
+ \def\SUF@pcorrect{\hskip.5em}
\or
\suftesi@toccompactsubsectrue
\suftesi@toccompactsubsubsectrue
- \def\suf@sscorrect{\relax}
- \def\suf@ssscorrect{\hskip.5em}
- \def\suf@ctocdotssec{.}
- \def\suf@ctocdotsssec{}
+ \suftesi@toccompactpartrue
+ \suftesi@toccompactsubpartrue
+ \def\SUF@sscorrect{\relax}
+ \def\SUF@ssscorrect{\hskip.5em}
+ \def\SUF@pcorrect{\hskip.5em}
+ \def\SUF@pcorrect{\hskip.5em}
\or
\suftesi@toccompactsubsubsectrue
- \def\suf@sscorrect{\relax}
- \def\suf@ssscorrect{\relax}
- \def\suf@ctocdotsssec{.}
+ \suftesi@toccompactpartrue
+ \suftesi@toccompactsubpartrue
+ \def\SUF@sscorrect{\relax}
+ \def\SUF@ssscorrect{\relax}
+ \def\SUF@pcorrect{\hskip.5em}
+ \def\SUF@pcorrect{\hskip.5em}
+\or
+ \suftesi@toccompactpartrue
+ \suftesi@toccompactsubpartrue
+ \def\SUF@sscorrect{\relax}
+ \def\SUF@ssscorrect{\relax}
+ \def\SUF@pcorrect{\relax}
+ \def\SUF@pcorrect{\hskip.5em}
+\or
+ \suftesi@toccompactsubpartrue
+ \def\SUF@sscorrect{\relax}
+ \def\SUF@ssscorrect{\relax}
+ \def\SUF@pcorrect{\relax}
+ \def\SUF@pcorrect{\relax}
\fi}
-\define@choicekey{}{twocolcontents}[\val\nr]
+\define@choicekey{}{twocolcontents}[\suftesi@val\suftesi@nr]
{toc,lof,lot,toclof,toclot,loflot,all}[all]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@twocolumntoctrue
\setkeys{}{tocstyle=ragged}
\or
@@ -2716,79 +3138,86 @@ cochineal,mathpazo,bera,amsthm}
\suftesi@twocolumnlottrue
\setkeys{}{tocstyle=ragged}
\fi}
+\define@choicekey{}{partialtoc}[\suftesi@val\suftesi@nr]
+{true,false}[true]{%
+ \ifcase\suftesi@nr\relax
+ \suftesi@partialtoctrue
+ \or
+ \suftesi@partialtocfalse
+ \fi}
% \end{macrocode}
% \paragraph{Table of contents font}
% \begin{macrocode}
-\define@choicekey{}{tocpartfont}[\val\nr]
+\define@choicekey{}{tocpartfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@tocPART@font{\relax}
\or
\def\SUF@tocPART@font{\itshape}
\or
\def\SUF@tocPART@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
-\define@choicekey{}{tocchapfont}[\val\nr]
+\define@choicekey{}{tocchapfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@tocCHAP@font{\relax}
\or
\def\SUF@tocCHAP@font{\itshape}
\or
\def\SUF@tocCHAP@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
-\define@choicekey{}{tocsecfont}[\val\nr]
+\define@choicekey{}{tocsecfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[italic]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@tocSEC@font{\relax}
\or
\def\SUF@tocSEC@font{\itshape}
\or
\def\SUF@tocSEC@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
-\define@choicekey{}{tocsubsecfont}[\val\nr]
+\define@choicekey{}{tocsubsecfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@tocSUBSEC@font{\relax}
\or
\def\SUF@tocSUBSEC@font{\itshape}
\or
\def\SUF@tocSUBSEC@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
-\define@choicekey{}{tocsubsubsecfont}[\val\nr]
+\define@choicekey{}{tocsubsubsecfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@tocSUBSUBSEC@font{\relax}
\or
\def\SUF@tocSUBSUBSEC@font{\itshape}
\or
\def\SUF@tocSUBSUBSEC@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
-\define@choicekey{}{tocauthorfont}[\val\nr]
+\define@choicekey{}{tocparfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
- \def\SUF@tocAUT@font{\relax}
+\ifcase\suftesi@nr\relax
+ \def\SUF@tocPAR@font{\relax}
\or
- \def\SUF@tocAUT@font{\itshape}
+ \def\SUF@tocPAR@font{\itshape}
\or
- \def\SUF@tocAUT@font{\expandafter\SUF@TOCtitlesmallcaps}
+ \def\SUF@tocPAR@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
-\define@choicekey{}{toctitlefont}[\val\nr]
- {roman,italic,smallcaps}[italic]{%
-\ifcase\nr\relax
- \def\SUF@tocTIT@font{\relax}
+\define@choicekey{}{tocsubparfont}[\suftesi@val\suftesi@nr]
+ {roman,italic,smallcaps}[roman]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@tocSUBPAR@font{\relax}
\or
- \def\SUF@tocTIT@font{\itshape}
+ \def\SUF@tocSUBPAR@font{\itshape}
\or
- \def\SUF@tocTIT@font{\expandafter\SUF@TOCtitlesmallcaps}
+ \def\SUF@tocSUBPAR@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
% \end{macrocode}
% \subsubsection{Headers}
% \paragraph{Header style}
% \begin{macrocode}
-\define@choicekey{}{headerstyle}[\val\nr]
+\define@choicekey{}{headerstyle}[\suftesi@val\suftesi@nr]
{inner,center,plain,authortitleinner,authortitlecenter}[inner]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@rightmark{\SUF@Rheadstyle{\rightmark}}
\def\SUF@leftmark{\SUF@Lheadstyle{\SUF@leftrightmark}}
\or
@@ -2810,9 +3239,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Header font}
% \begin{macrocode}
-\define@choicekey{}{headerfont}[\val\nr]
+\define@choicekey{}{headerfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@Rheadstyle{}
\def\SUF@Lheadstyle{}
\def\SUF@thepage{\thepage}
@@ -2830,12 +3259,12 @@ cochineal,mathpazo,bera,amsthm}
% \paragraph{Lists}
% \begin{macrocode}
\RequirePackage[inline]{enumitem}
-\renewcommand\labelitemi{\color{sufgray}\textbullet}
-\setlist{itemsep=.5ex,parsep=0pt,listparindent=\parindent}
-\setlist[description]{font=\normalfont\itshape}
-\define@choicekey{}{liststyle}[\val\nr]
+ \setlist[itemize,1]{label=\color{sufgray}\textbullet}
+ \setlist{itemsep=.5ex,parsep=0pt,listparindent=\parindent}
+ \setlist[description]{font=\normalfont\itshape}
+\define@choicekey{}{liststyle}[\suftesi@val\suftesi@nr]
{bulged,aligned,indented}[bulged]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\setlist[enumerate,1]{leftmargin=0pt,label=\arabic*.}
\setlist[enumerate,2]{leftmargin= 1.3\parindent,label=\alph*.}
\setlist[enumerate,3]{leftmargin= 1.3\parindent,label=\roman*.}
@@ -2860,26 +3289,23 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Quotations}
% \begin{macrocode}
-\define@choicekey{}{quotestyle}[\val\nr]
- {center,right}[center]{%
-\ifcase\nr\relax
- \def\SUF@quote@style{\rightmargin=\parindent}
+\define@choicekey{}{quotestyle}[\suftesi@val\suftesi@nr]
+ {center,right,justify}[center]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@quote@style{\leftmargin=\parindent \rightmargin=\parindent}
\or
- \def\SUF@quote@style{}
-\fi}
-\define@choicekey{}{quotesize}[\val\nr]
- {footnotesize,small}[footnotesize]{%
-\ifcase\nr\relax
- \def\SUF@quotation@size{\footnotesize}
+ \def\SUF@quote@style{\leftmargin=\parindent}
\or
- \def\SUF@quotation@size{\small}
+ \def\SUF@quote@style{\leftmargin=0pt}
\fi}
+\define@key{}{quotesize}[footnotesize]{
+ \def\SUF@quotation@size{\csname #1\endcsname}}
% \end{macrocode}
% \paragraph{Footnotes}
% \begin{macrocode}
-\define@choicekey{}{footnotestyle}[\val\nr]
+\define@choicekey{}{footnotestyle}[\suftesi@val\suftesi@nr]
{bulged,hung,dotted,superscript}[bulged]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\renewcommand\@makefntext{%
\hskip-2.5em\makebox[2em][r]{\@thefnmark}\hskip.5em}
\or
@@ -2893,9 +3319,9 @@ cochineal,mathpazo,bera,amsthm}
\renewcommand\@makefntext{%
\textsuperscript{\@thefnmark}\hskip.3em}
\fi}
-\define@choicekey{}{fewfootnotes}[\val\nr]
+\define@choicekey{}{fewfootnotes}[\suftesi@val\suftesi@nr]
{true,false}[true]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@fewfootnotestrue
\or
\relax
@@ -2905,9 +3331,9 @@ cochineal,mathpazo,bera,amsthm}
% \begin{macrocode}
\RequirePackage{caption}
\captionsetup{labelsep=period,font=small,textformat=period}
-\define@choicekey{}{captionstyle}[\val\nr]
+\define@choicekey{}{captionstyle}[\suftesi@val\suftesi@nr]
{standard,sanserif,italic,smallcaps}[standard]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\or
\captionsetup{font+=sf}
\or
@@ -2918,9 +3344,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Marginal notes}
% \begin{macrocode}
-\define@choicekey{}{marginpar}[\val\nr]
+\define@choicekey{}{marginpar}[\suftesi@val\suftesi@nr]
{true,false}[true]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\or
\renewcommand\marginpar[2][]{}
\fi}
@@ -2928,9 +3354,9 @@ cochineal,mathpazo,bera,amsthm}
% \subsubsection{Other options}
% \paragraph{Part page}
% \begin{macrocode}
-\define@choicekey{}{partpage}[\val\nr]
+\define@choicekey{}{partpage}[\suftesi@val\suftesi@nr]
{true,false}[true]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@partpagetrue
\or
\relax
@@ -2938,9 +3364,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Draftdate}
% \begin{macrocode}
-\define@choicekey{}{draftdate}[\val\nr]
+\define@choicekey{}{draftdate}[\suftesi@val\suftesi@nr]
{true,false}[true]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@draftdatetrue
\or
\relax
@@ -2948,9 +3374,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{View mode}
% \begin{macrocode}
-\define@choicekey{}{version}[\val\nr]
+\define@choicekey{}{version}[\suftesi@val\suftesi@nr]
{screen,cscreen,draft,final}[draft]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\suftesi@screentrue
\or
\suftesi@screentrue
@@ -2960,12 +3386,12 @@ cochineal,mathpazo,bera,amsthm}
\or
\AtBeginDocument{\crop[off]}
\fi}
-\define@choicekey{}{crop}[\val\nr]
+\define@choicekey{}{crop}[\suftesi@val\suftesi@nr]
{true,false}[true]{%
\ClassWarningNoLine{suftesi}{%
'crop' option is deprecated.\MessageBreak
Use 'version' option instead}
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\setkeys{}{version=draft}
\or
\setkeys{}{version=screen}
@@ -2973,9 +3399,9 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Titlepage}
% \begin{macrocode}
-\define@choicekey{}{titlepage}[\val\nr]
+\define@choicekey{}{titlepage}[\suftesi@val\suftesi@nr]
{true,false}[true]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\@titlepagetrue
\or
\@titlepagefalse
@@ -2983,7 +3409,7 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Pre-defined styles}
% \begin{macrocode}
-\define@choicekey{}{style}[\val\nr]
+\define@choicekey{}{style}[\suftesi@val\suftesi@nr]
{roman1,roman2,roman3,roman4,roman5,roman6,
italic1,italic2,italic3,italic4,italic5,italic6,
italic7,italic8,italic9,italic10,italic11,italic12,
@@ -2991,7 +3417,7 @@ cochineal,mathpazo,bera,amsthm}
smallcaps7,smallcaps8,smallcaps9,smallcaps10,smallcaps11,smallcaps12,
FSPLa,FSPLb,FSPLc}
[roman1]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
% \end{macrocode}
% \subparagraph{The `roman' styles}
% \begin{macrocode}
@@ -3165,7 +3591,7 @@ cochineal,mathpazo,bera,amsthm}
\setkeys{}{
chapstyle=parright,
chapfont=smallcaps,
- tocchapfont=smallcaps,
+ tocchapfont=smallcaps,file:///tmp/mozilla_ivan0/luatex85.pdf
secfont=smallcaps,
headerfont=smallcaps}
\or
@@ -3229,85 +3655,157 @@ cochineal,mathpazo,bera,amsthm}
% \end{macrocode}
% \paragraph{Options for the \opt{collection} document structure}
% \begin{macrocode}
-\define@choicekey{}{papertitlestyle}[\val\nr]
+\define@choicekey{}{authortitlealign}[\suftesi@val\suftesi@nr]
{left,center,right}[left]{%
-\ifcase\nr\relax
+\ifcase\suftesi@nr\relax
\def\SUF@lr@coll@titleSwitch{\filright}
\or
\def\SUF@lr@coll@titleSwitch{\filcenter}
\or
\def\SUF@lr@coll@titleSwitch{\filleft}
\fi}
-\define@choicekey{}{revauthortitle}[\val\nr]
+\define@choicekey{}{papertitlestyle}[\suftesi@val\suftesi@nr]
+ {left,center,right}[left]{%
+\ClassWarningNoLine{suftesi}{%
+ 'papertitlestyle' option is deprecated.\MessageBreak
+ Use 'authortitlealign' option instead}
+\ifcase\suftesi@nr\relax
+ \def\SUF@lr@coll@titleSwitch{\filright}
+\or
+ \def\SUF@lr@coll@titleSwitch{\filcenter}
+\or
+ \def\SUF@lr@coll@titleSwitch{\filleft}
+\fi}
+\define@choicekey{}{reverseauthortitle}[\suftesi@val\suftesi@nr]
{true,false}[false]{%
-\ifcase\nr\relax
- \suftesi@reverseauthortitletrue
+\ifcase\suftesi@nr\relax
+ \def\SUF@first{\SUF@Afont@style\SUF@Afont@shape\@author}
+ \def\SUF@second{\SUF@Tfont@style\SUF@Tfont@shape\@title}
\or
+ \def\SUF@first{\SUF@Tfont@style\SUF@Tfont@shape\@title}
+ \def\SUF@second{\SUF@Afont@style\SUF@Afont@shape\@author}
+ \relax
+\fi}
+\define@choicekey{}{revauthortitle}[\suftesi@val\suftesi@nr]
+ {true,false}[false]{%
+\ClassWarningNoLine{suftesi}{%
+ 'revauthortitle' option is deprecated.\MessageBreak
+ Use 'reverseauthortitle' option instead}
+\ifcase\suftesi@nr\relax
+ \def\SUF@first{\SUF@Afont@style\SUF@Afont@shape\@author}
+ \def\SUF@second{\SUF@Tfont@style\SUF@Tfont@shape\@title}
+\or
+ \def\SUF@first{\SUF@Tfont@style\SUF@Tfont@shape\@title}
+ \def\SUF@second{\SUF@Afont@style\SUF@Afont@shape\@author}
\relax
\fi}
-\define@choicekey{}{titlefont}[\val\nr]
+\define@choicekey{}{maketitlestyle}[\suftesi@val\suftesi@nr]
+ {suftesi,standard}[suftesi]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@Tfont@style{\SUF@chaptersize\color{sufred}\sffamily}
+ \def\SUF@Afont@style{\small}
+ \def\SUF@datefont{\small}
+\or
+ \def\SUF@Tfont@style{\LARGE}
+ \def\SUF@Afont@style{\large}
+ \def\SUF@datefont{\small}
+\fi}
+\define@choicekey{}{titlefont}[\suftesi@val\suftesi@nr]
+ {roman,italic,smallcaps}[suftesi]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@Tfont@shape{\relax}
+\or
+ \def\SUF@Tfont@shape{\itshape}
+\or
+ \def\SUF@Tfont@shape{\expandafter\SUF@titlesmallcaps}
+\fi}
+\define@choicekey{}{authorfont}[\suftesi@val\suftesi@nr]
+ {roman,italic,smallcaps}[suftesi]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@Afont@shape{\relax}
+\or
+ \def\SUF@Afont@shape{\itshape}
+\or
+ \def\SUF@Afont@shape{\expandafter\SUF@titlesmallcaps}
+\fi}
+\define@choicekey{}{datefont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
- \def\SUF@titlefont@Switch{\relax}
+\ifcase\suftesi@nr\relax
+ \def\SUF@datefont{\relax}
\or
- \def\SUF@titlefont@Switch{\itshape}
+ \def\SUF@datefont{\itshape}
\or
- \def\SUF@titlefont@Switch{\expandafter\SUF@titlesmallcaps}
+ \def\SUF@datefont{\expandafter\SUF@titlesmallcaps}
\fi}
-\define@choicekey{}{authorfont}[\val\nr]
+\define@choicekey{}{toctitlefont}[\suftesi@val\suftesi@nr]
+ {roman,italic,smallcaps}[italic]{%
+\ifcase\suftesi@nr\relax
+ \def\SUF@tocTIT@font{\relax}
+\or
+ \def\SUF@tocTIT@font{\itshape}
+\or
+ \def\SUF@tocTIT@font{\expandafter\SUF@TOCtitlesmallcaps}
+\fi}
+\define@choicekey{}{tocauthorfont}[\suftesi@val\suftesi@nr]
{roman,italic,smallcaps}[roman]{%
-\ifcase\nr\relax
- \def\SUF@authorfont@Switch{\relax}
+\ifcase\suftesi@nr\relax
+ \def\SUF@tocAUT@font{\relax}
\or
- \def\SUF@authorfont@Switch{\itshape}
+ \def\SUF@tocAUT@font{\itshape}
\or
- \def\SUF@authorfont@Switch{\expandafter\SUF@titlesmallcaps}
+ \def\SUF@tocAUT@font{\expandafter\SUF@TOCtitlesmallcaps}
\fi}
% \end{macrocode}
% \subsubsection{Execute options}
% \begin{macrocode}
\ExecuteOptionsX<>{
structure=book,
- captionstyle=standard,
- marginpar=true,
- tocstyle=standard,
- defaultfont=cochineal,
- mathfont=minimal,
- greekfont=none,
pagelayout=standard,
headerstyle=inner,
+ headerfont=roman,
+ defaultfont=cochineal,
+ greekfont=none,
+ mathfont=minimal,
+ smallcapsstyle=low,
liststyle=bulged,
footnotestyle=bulged,
quotesize=footnotesize,
quotestyle=center,
+ captionstyle=standard,
+ marginpar=true,
+ tocstyle=standard,
partstyle=left,
chapstyle=left,
secstyle=left,
subsecstyle=left,
subsubsecstyle=left,
- partfont=roman,
- chapfont=roman,
- secfont=italic,
- subsecfont=roman,
- subsubsecfont=roman,
- headerfont=roman,
partnumstyle=Roman,
chapnumstyle=arabic,
secnumstyle=arabic,
subsecnumstyle=arabic,
subsubsecnumstyle=arabic,
- smallcapsstyle=low,
- titlefont=italic,
- authorfont=roman,
- toctitlefont=italic,
- tocauthorfont=roman,
- revauthortitle=false,
- papertitlestyle=left,
+ partfont=roman,
+ chapfont=roman,
+ secfont=italic,
+ subsecfont=roman,
+ subsubsecfont=roman,
+ parfont=italic,
+ subparfont=roman,
tocpartfont=roman,
tocchapfont=roman,
tocsecfont=roman,
tocsubsecfont=roman,
- tocsubsubsecfont=roman}
+ tocsubsubsecfont=roman,
+ tocparfont=roman,
+ tocsubparfont=roman,
+ maketitlestyle=suftesi,
+ titlefont=roman,
+ authorfont=roman,
+ datefont=roman,
+ toctitlefont=italic,
+ tocauthorfont=roman,
+ reverseauthortitle=false,
+ authortitlealign=left}
\ProcessOptionsX<>\relax
% \end{macrocode}
% The use of the \cmd{XKV@useoption} command, provided by
@@ -3567,22 +4065,22 @@ cochineal,mathpazo,bera,amsthm}
\fi
\unless\ifPDFTeX\else
\ifsuftesi@greekfont
- \ifsuftesi@artemisia
- \def\SUF@greekfamily{artemisia}
- \else
- \ifsuftesi@porson
- \def\SUF@greekfamily{porson}
- \else
- \ifsuftesi@bodoni
- \def\SUF@greekfamily{bodoni}
- \else
- \ifsuftesi@cbgreek
- \def\SUF@greekfamily{lmr}
- \else
- \fi
- \fi
+ \ifsuftesi@artemisia
+ \def\SUF@greekfamily{artemisia}
+ \else
+ \ifsuftesi@porson
+ \def\SUF@greekfamily{porson}
+ \else
+ \ifsuftesi@bodoni
+ \def\SUF@greekfamily{bodoni}
+ \else
+ \ifsuftesi@cbgreek
+ \def\SUF@greekfamily{lmr}
+ \else
\fi
\fi
+ \fi
+\fi
% \end{macrocode}
%The following macro was created by Claudio Beccari. Some time later, Massimiliano Dominici suggested the use of \cmd{AtEndPreamble} instead of \cmd{AtBeginDocument}, to make the \env{otherlanguage} environment work.
% \begin{macrocode}
@@ -3646,7 +4144,7 @@ cochineal,mathpazo,bera,amsthm}
\fi
\fi
% \end{macrocode}
-% \subsection{Section titles}
+% \subsection{Sectioning}
% \begin{macrocode}
\RequirePackage[newparttoc]{titlesec}
\newlength{\sectionsep}
@@ -3673,16 +4171,18 @@ cochineal,mathpazo,bera,amsthm}
\def\SUF@default@CHAPTER{
\ifsuftesi@numparchap
\titleformat{\chapter}[display]
- {\SUF@chaptersize\SUF@lr@CHAPSwitch}
+ {\startpartialtoc\SUF@chaptersize\SUF@lr@CHAPSwitch}
{\SUF@thechapter\SUF@dotchap}
{2ex}
{\SUF@CHAP@StyleSwitch}
+ [\printpartialtoc]
\else
\titleformat{\chapter}[hang]
- {\SUF@chaptersize\SUF@lr@CHAPSwitch}
+ {\startpartialtoc\SUF@chaptersize\SUF@lr@CHAPSwitch}
{\SUF@thechapter\SUF@dotchap}
{3em}
{\SUF@CHAP@StyleSwitch}
+ [\printpartialtoc]
\fi
\ifsuftesi@numparchap
\setlength{\SUF@ADJnumparchap}{-6ex}
@@ -3763,14 +4263,29 @@ cochineal,mathpazo,bera,amsthm}
\ifsuftesi@supercompactaureo
\titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
\titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
-\else%standard/standardaureo
+\else
+\ifsuftesi@pocketa
+ \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+ \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
+\else
+\ifsuftesi@pocketb
+ \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+ \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
+\else
+\ifsuftesi@pocketc
+ \titlespacing*{\chapter}{0em}{\SUF@ADJnumparchap}{18ex}
+ \titlespacing*{name=\chapter,numberless}{0em}{0pt}{18ex}
+\else
\titlespacing*{\chapter}{0em}{%
\dimexpr(6ex+\SUF@ADJnumparchap)}{18ex}
\titlespacing*{name=\chapter,numberless}{0em}{6ex}{18ex}
- \fi
+ \fi
\fi
+ \fi
\fi
+ \fi
\fi
+ \fi
\fi
\fi
% \end{macrocode}
@@ -3817,7 +4332,6 @@ cochineal,mathpazo,bera,amsthm}
\fi
\secdef\@part\@spart}
\fi
-
\def\@part[#1]#2{%
\ifnum \c@secnumdepth >-2\relax
\refstepcounter{part}%
@@ -3842,41 +4356,39 @@ cochineal,mathpazo,bera,amsthm}
\fi
\noindent\SUF@PART@StyleSwitch#2\par}%
\@endpart}
-
\def\@spart#1{%
{\SUF@lr@PARTSwitch\SUF@partsize
\interlinepenalty \@M
\addvspace{4ex}
\noindent\SUF@PART@StyleSwitch#1\par}%
\@endpart}
-
\ifsuftesi@article
-\def\@endpart{%
- \ifsuftesi@partpage
- \vfil\newpage
- \if@twoside
- \if@openright
- \null
- \thispagestyle{empty}%
- \newpage
- \fi
- \fi
- \fi
- \if@tempswa
- \twocolumn
- \fi}
+ \def\@endpart{%
+ \ifsuftesi@partpage
+ \vfil\newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
\else
-\def\@endpart{\vfil\newpage
- \if@twoside
- \if@openright
- \null
- \thispagestyle{empty}%
- \newpage
- \fi
- \fi
- \if@tempswa
- \twocolumn
- \fi}
+ \def\@endpart{\vfil\newpage
+ \if@twoside
+ \if@openright
+ \null
+ \thispagestyle{empty}%
+ \newpage
+ \fi
+ \fi
+ \if@tempswa
+ \twocolumn
+ \fi}
\fi
% \end{macrocode}
% Other sublevels:
@@ -3885,14 +4397,14 @@ cochineal,mathpazo,bera,amsthm}
{}
{\theparagraph}
{.5em}
- {\itshape}
+ {\SUF@PAR@StyleSwitch}
[{.}\hspace*{1em}]
\titlespacing*{\paragraph}{\parindent}{.5\sectionsep}{.5\sectionsep}
\titleformat{\subparagraph}[runin]
{}
{\thesubparagraph}
{.5em}
- {}
+ {\SUF@SUBPAR@StyleSwitch}
[{.}\hspace*{1em}]
\titlespacing*{\subparagraph}{\parindent}{.5\sectionsep}{.5\sectionsep}
% \end{macrocode}
@@ -4041,107 +4553,59 @@ cochineal,mathpazo,bera,amsthm}
% which can be used in the headers.
% \begin{macrocode}
\def\isbn#1{\gdef\@isbn{#1}}
- \def\@issn{\@latex@warning@no@line{%
- No \noexpand\isbn given}}
+\def\@issn{\@latex@warning@no@line{%
+ No \noexpand\isbn given}}
\def\doi#1{\gdef\@doi{#1}}
- \def\@doi{\@latex@warning@no@line{%
- No \noexpand\doi given}}
+\def\@doi{\@latex@warning@no@line{%
+ No \noexpand\doi given}}
\def\isbn#1{\gdef\@issn{#1}}
- \def\@issn{\@latex@warning@no@line{%
- No \noexpand\isbn given}}
+\def\@issn{\@latex@warning@no@line{%
+ No \noexpand\isbn given}}
\renewcommand*{\title}[2][]{\gdef\@headtitle{#1}\gdef\@title{#2}}
- \edef\title{\noexpand\@dblarg
+\edef\title{\noexpand\@dblarg
\expandafter\noexpand\csname\string\title\endcsname}
- \def\@headtitle{--missing title--%
- \protect\ClassWarningNoLine{suftesi}{%
+\def\@headtitle{--missing title--%
+ \protect\ClassWarningNoLine{suftesi}{%
No \string\title\space given \MessageBreak%
See the class documentation for explanation}}
- \def\@title{--missing title--%
- \protect\ClassWarningNoLine{suftesi}{%
+\def\@title{--missing title--%
+ \protect\ClassWarningNoLine{suftesi}{%
No \string\title\space given\MessageBreak%
See the class documentation for explanation}}
- \def\@author{--missing author--%
- \protect\ClassWarningNoLine{suftesi}{%
+\def\@author{--missing author--%
+ \protect\ClassWarningNoLine{suftesi}{%
No \string\author\space given\MessageBreak%
See the class documentation for explanation}}
-% \end{macrocode}
-% \subsubsection{For \opt{titlepage} (default) option}
-% \begin{macrocode}
-\if@titlepage% titlepage
- \renewcommand\maketitle{\begin{titlepage}%
- \let\footnotesize\small
- \let\footnoterule\relax
- \let \footnote \thanks
- \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
- \null\vfil
- \vskip 60\p@
- \begin{center}%
- {\SUF@chaptersize\color{sufred}\sffamily%
- \ifsuftesi@smallcapschap%
- \SUF@titlesmallcaps{\@title}
- \else
- \ifsuftesi@article
- \ifsuftesi@smallcapssec
- \SUF@titlesmallcaps{\@title}
- \else
- \@title
- \fi
- \else
- \@title
- \fi
- \fi\par}%
- \vskip 3em%
- {\small\lineskip .75em%
- \begin{tabular}[t]{c}%
- \@author
- \end{tabular}\par}%
- \vskip 1.5em%
- {\small\@date\par}%
- \end{center}\par
- \@thanks
- \vfil\null
- \end{titlepage}%
- \setcounter{footnote}{0}%
- \global\let\thanks\relax
- \global\let\maketitle\relax
- \global\let\@thanks\@empty
- \global\let\@date\@empty
- \global\let\date\relax
- \global\let\and\relax}
-% \end{macrocode}
-% \paragraph{The standard \cmd{aketitle} style}
-% \begin{macrocode}
-\newcommand\standardtitle{\begin{titlepage}%
- \let\footnotesize\small
- \let\footnoterule\relax
- \let \footnote \thanks
- \null\vfil
- \vskip 60\p@
- \begin{center}%
- {\LARGE \@title \par}%
- \vskip 3em%
- {\large
- \lineskip .75em%
- \begin{tabular}[t]{c}%
- \@author
- \end{tabular}\par}%
- \vskip 1.5em%
- {\large \@date \par}%
- \end{center}\par
- \@thanks
- \vfil\null
+\if@titlepage
+ \renewcommand\maketitle{%
+ \begin{titlepage}
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let \footnote \thanks
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\SUF@first\par}%
+ \vskip 3em%
+ {\lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \SUF@second
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\SUF@datefont\@date\par}%
+ \end{center}\par
+ \@thanks
+ \vfil\null
\end{titlepage}%
\setcounter{footnote}{0}%
\global\let\thanks\relax
\global\let\maketitle\relax
\global\let\@thanks\@empty
- \global\let\@date\@empty
+ \global\let\@date\@empty
\global\let\date\relax
\global\let\and\relax}
\else
-% \end{macrocode}
-% \subsubsection{For \opt{notitlepage} option}
-% \begin{macrocode}
\renewcommand\maketitle{\par
\begingroup
\renewcommand\thefootnote{\@fnsymbol\c@footnote}%
@@ -4176,79 +4640,17 @@ cochineal,mathpazo,bera,amsthm}
\vskip 2em%
\begin{center}%
\let \footnote \thanks
- {\SUF@chaptersize\color{sufred}\sffamily%
- \ifsuftesi@smallcapschap%
- \SUF@titlesmallcaps{\@title}
- \else
- \ifsuftesi@article
- \ifsuftesi@smallcapssec
- \SUF@titlesmallcaps{\@title}
- \else
- \@title
- \fi
- \else
- \@title
- \fi
- \fi\par}%
+ {\SUF@first\par}%
\vskip 1.5em%
- {\small\lineskip .5em%
+ {\lineskip .5em%
\begin{tabular}[t]{c}%
- \@author\par
+ \SUF@second\par
\end{tabular}\par}%
\vskip 1em%
- {\small\@date\par}%
+ {\SUF@datefont\@date\par}%
\end{center}%
\par
\vskip 1.5em}
-% \end{macrocode}
-% \paragraph{The standard \cmd{maketitle} style}
-% \begin{macrocode}
-\newcommand\standardtitle{\par
- \begingroup
- \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
- \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
- \long\def\@makefntext##1{\parindent 1em\noindent
- \hb@xt@1.8em{%
- \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
- \if@twocolumn
- \ifnum \col@number=\@ne
- \@standardmaketitle
- \else
- \twocolumn[\@standardmaketitle]%
- \fi
- \else
- \newpage
- \global\@topnum\z@
- \@standardmaketitle
- \fi
- \thispagestyle{plain}\@thanks
- \endgroup
- \setcounter{footnote}{0}%
- \global\let\thanks\relax
- \global\let\maketitle\relax
- \global\let\@standardmaketitle\relax
- \global\let\@thanks\@empty
- \global\let\@date\@empty
- \global\let\date\relax
- \global\let\and\relax}
-\def\@standardmaketitle{%
- \newpage
- \null
- \vskip 2em%
- \begin{center}%
- \let \footnote \thanks
- {\LARGE \@title \par}%
- \vskip 1.5em%
- {\large
- \lineskip .5em%
- \begin{tabular}[t]{c}%
- \@author
- \end{tabular}\par}%
- \vskip 1em%
- {\large \@date}%
- \end{center}%
- \par
- \vskip 1.5em}
\fi
% \end{macrocode}
% \subsection{The \opt{collection} structure}
@@ -4359,8 +4761,8 @@ cochineal,mathpazo,bera,amsthm}
\fi
\thispagestyle{plain}\@thanks%
\endgroup
+ \setcounter{section}{0}%
% \setcounter{footnote}{0}%
- \setcounter{section}{0}%
% \global\let\thanks\relax
% \global\let\maketitle\relax
% \global\let\@maketitle\relax
@@ -4371,22 +4773,27 @@ cochineal,mathpazo,bera,amsthm}
% \global\let\title\relax
% \global\let\author\relax
% \global\let\date\relax
- \global\let\and\relax
- \let\thanks\@gobble}
+ \global\let\and\relax
+ \let\thanks\@gobble}
\AtBeginDocument{\def\@maketitle{%
\refstepcounter{article}
\SUF@chaptersize
\SUF@lr@coll@titleSwitch
\let\footnote\thanks
\parindent=0pt
- {\ifsuftesi@reverseauthortitle
- \SUF@titlefont@Switch{\@title}%
- \else\SUF@authorfont@Switch{\@author}\fi}%
+ {\SUF@second}%
\label{begin:\thearticle}
- \xdef\@currentHref{title.\thearticle}%
- \Hy@raisedlink{%
- \hyper@anchorstart{\@currentHref}\hyper@anchorend}%
- \csname toc@entry@\endcsname
+% \end{macrocode}
+% Check if you don't use \sty{hyperrref} provided by Enrico Gregorio
+% (\url{https://tex.stackexchange.com/a/427203/231952}):
+% \begin{macrocode}
+ \@ifundefined{Hy@raisedlink}{\let\texorpdfstring\@firstoftwo}{%
+ \xdef\@currentHref{title.\thearticle}%
+ \Hy@raisedlink{\hyper@anchorstart{\@currentHref}\hyper@anchorend}%
+ }%
+% \end{macrocode}
+% \begin{macrocode}
+ \csname toc@entry@\endcsname
\begingroup%
\let\thanks\@gobble
\addcontentsline{toc}{title}{%
@@ -4394,11 +4801,8 @@ cochineal,mathpazo,bera,amsthm}
{\SUF@tocTIT@font{\@headtitle}}}
\endgroup%
\par\nobreak\vspace{2ex}
- {\ifsuftesi@reverseauthortitle
- \SUF@authorfont@Switch{\@author}%
- \else
- \SUF@titlefont@Switch{\@title}%
- \fi\vskip1.5cm}}%
+ {\SUF@first%
+ \vskip1.5cm}}%
}
% \newenvironment{article}
% {\begingroup
@@ -4419,7 +4823,7 @@ cochineal,mathpazo,bera,amsthm}
\cleardoublepage
\global\let\@thanks\@empty
\endgroup}
-\newcommand{\frontispiece}{%
+\newcommand{\collectiontitlepage}{%
\thispagestyle{empty}%
\begingroup
\centering
@@ -4433,6 +4837,7 @@ cochineal,mathpazo,bera,amsthm}
\endgroup
\clearpage}
+\def\frontispiece{\collectiontitlepage}
% \end{macrocode}
% In the collection document structure the articles are treated as
% chapters but you would not need to print in
@@ -4462,51 +4867,72 @@ cochineal,mathpazo,bera,amsthm}
\ifsuftesi@periodical
\Margini {5.5cm}{7cm}{4.5cm}{0cm}
\else
+\ifsuftesi@periodicalaureo
+ \Margini {5.5cm}{7cm}{4.5cm}{0cm}
+ \else
\ifsuftesi@compact
\Margini {4.5cm}{7cm}{4.5cm}{0cm}
\else
-\ifsuftesi@supercompact
- \Margini {4.5cm}{10cm}{6cm}{1cm}
- \else
\ifsuftesi@compactaureo
\Margini {4.5cm}{7cm}{4.5cm}{0cm}
\else
+\ifsuftesi@supercompact
+ \Margini {4.5cm}{10cm}{6cm}{1cm}
+ \else
\ifsuftesi@supercompactaureo
\Margini {4.5cm}{10cm}{6cm}{1cm}
\else
-\ifsuftesi@periodicalaureo
- \Margini {5.5cm}{7cm}{4.5cm}{0cm}
+\ifsuftesi@pocketa
+ \Margini {4.5cm}{10cm}{6cm}{1cm}
+ \else
+\ifsuftesi@pocketb
+ \Margini {4.5cm}{10cm}{6cm}{1cm}
\else
-\fi\fi\fi\fi\fi\fi}
+\ifsuftesi@pocketc
+ \Margini {4.5cm}{10cm}{6cm}{1cm}
+ \else
+\fi\fi\fi\fi\fi\fi\fi\fi\fi}
{\@ifpackageloaded{frontespizio}{%
\ifsuftesi@periodical
\Margini {1cm}{7cm}{5cm}{1cm}
\Rientro{1cm}
\else
+\ifsuftesi@periodicalaureo
+ \Margini {1cm}{7cm}{5cm}{1cm}
+ \Rientro{1cm}
+ \else
\ifsuftesi@compact
\Margini {1cm}{7cm}{6cm}{1cm}
\Rientro{1cm}
\else
+\ifsuftesi@compactaureo
+ \Margini {1cm}{7cm}{6cm}{1cm}
+ \Rientro{1cm}
+ \else
\ifsuftesi@supercompact
\Margini {1cm}{10cm}{8cm}{1cm}
\Rientro{1cm}
\else
-\ifsuftesi@compactaureo
- \Margini {1cm}{7cm}{6cm}{1cm}
+\ifsuftesi@supercompactaureo
+ \Margini {1cm}{10cm}{8cm}{1cm}
\Rientro{1cm}
\else
-\ifsuftesi@supercompactaureo
+\ifsuftesi@pocketa
\Margini {1cm}{10cm}{8cm}{1cm}
\Rientro{1cm}
\else
-\ifsuftesi@periodicalaureo
- \Margini {1cm}{7cm}{5cm}{1cm}
+\ifsuftesi@pocketb
+ \Margini {1cm}{10cm}{8cm}{1cm}
+ \Rientro{1cm}
+ \else
+\ifsuftesi@pocketc
+ \Margini {1cm}{10cm}{8cm}{1cm}
\Rientro{1cm}
\else
-\fi\fi\fi\fi\fi\fi}
+\fi\fi\fi\fi\fi\fi\fi\fi\fi}
{\relax}}}
% \end{macrocode}
-% \subsection{The index}
+% \subsection{Index}
% \begin{macrocode}
\renewenvironment{theindex}
{\if@twocolumn
@@ -4613,7 +5039,7 @@ cochineal,mathpazo,bera,amsthm}
\ifsuftesi@toccompactsec
\titlecontents*{section}[\SUF@tochang@chap]{}{%
\thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotsec]
+ \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{section}
[\SUF@tochang@sec]
@@ -4645,7 +5071,7 @@ cochineal,mathpazo,bera,amsthm}
\ifsuftesi@toccompactsec
\titlecontents*{section}[\SUF@tocindent@chap]{}{%
\thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotsec]
+ \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{section}
[\SUF@tocindent@sec]
@@ -4757,7 +5183,6 @@ cochineal,mathpazo,bera,amsthm}
\renewenvironment{quotation}
{\list{}{\listparindent\parindent%
\itemindent \listparindent
- \leftmargin \parindent
\SUF@quote@style
\parsep \z@ \@plus\p@}%
\item\relax%
@@ -4765,7 +5190,7 @@ cochineal,mathpazo,bera,amsthm}
\noindent\ignorespaces}
{\endlist}
\renewenvironment{quote}
- {\list{}{\leftmargin \parindent
+ {\list{}{%
\SUF@quote@style}%
\item\relax%
\SUF@quotation@size}% \ignorespaces?
@@ -4965,7 +5390,7 @@ Janusz M.~Nowacki.
only for the FSPL styles}}
\fi
% \end{macrocode}
-% \subsection{ToC, LoF and LoT}
+% \subsection{Contents lists}
% \begin{macrocode}
\RequirePackage{titletoc}
% \end{macrocode}
@@ -5119,7 +5544,7 @@ Janusz M.~Nowacki.
\ifsuftesi@toccompactsec
\titlecontents*{section}[\SUF@tochang@chap]{}{%
\SUF@SEC@thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotsec]
+ \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{section}
[\SUF@tochang@sec]
@@ -5137,9 +5562,9 @@ Janusz M.~Nowacki.
{}
\fi
\ifsuftesi@toccompactsubsec
-\titlecontents*{subsection}[\SUF@tochang@sec]{\suf@sscorrect}{%
+\titlecontents*{subsection}[\SUF@tochang@sec]{\SUF@sscorrect}{%
\SUF@SUBSEC@thecontentslabel\adjtoclabelsep\SUF@tocSUBSEC@font}{\SUF@tocSUBSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotssec]
+ \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{subsection}
[\SUF@tochang@subsec]
@@ -5154,10 +5579,10 @@ Janusz M.~Nowacki.
{}
\fi
\ifsuftesi@toccompactsubsubsec
-\titlecontents*{subsubsection}[\SUF@tochang@subsec]{\suf@ssscorrect}{%
+\titlecontents*{subsubsection}[\SUF@tochang@subsec]{\SUF@ssscorrect}{%
\SUF@SUBSUBSEC@thecontentslabel\adjtoclabelsep%
\SUF@tocSUBSUBSEC@font}{\SUF@tocSUBSUBSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotsssec]
+ \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{subsubsection}
[\SUF@tochang@subsubsec]
@@ -5171,24 +5596,42 @@ Janusz M.~Nowacki.
\SUF@tocSUBSUBSEC@font}
{}
\fi
+\ifsuftesi@toccompactpar
+\titlecontents*{paragraph}[\SUF@tochang@subsubsec]{\SUF@pcorrect}{%
+ \SUF@PAR@thecontentslabel\adjtoclabelsep%
+ \SUF@tocPAR@font}{\SUF@tocPAR@font}{,
+ \thecontentspage.}[][\adjtocpagesep][]
+\else
\titlecontents{paragraph}
- [\SUF@tochang@par]
- {}
- {\hskip-\SUF@tochang@par%
- \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@par%
- \makebox[\SUF@label@par][l]{\thecontentslabel}\hspace*{1em}}
- {\hskip-\SUF@tochang@par%
- \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@par}
- {}
+[\SUF@tochang@par]
+{}
+{\hskip-\SUF@tochang@par%
+ \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@par%
+ \makebox[\SUF@label@par][l]{\thecontentslabel}\hspace*{1em}%
+ \SUF@tocPAR@font}
+{\hskip-\SUF@tochang@par%
+ \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@par%
+ \SUF@tocPAR@font}
+{}
+\fi
+\ifsuftesi@toccompactsubpar
+\titlecontents*{subparagraph}[\SUF@tochang@par]{\SUF@pcorrect}{%
+ \SUF@SUBPAR@thecontentslabel\adjtoclabelsep%
+ \SUF@tocSUBPAR@font}{\SUF@tocSUBPAR@font}{,
+ \thecontentspage.}[][\adjtocpagesep][]
+\else
\titlecontents{subparagraph}
[\SUF@tochang@subpar]
{}
{\hskip-\SUF@tochang@subpar%
\makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subpar%
- \makebox[\SUF@label@subpar][l]{\thecontentslabel}\hspace*{1em}}
+ \makebox[\SUF@label@subpar][l]{\thecontentslabel}\hspace*{1em}%
+ \SUF@tocSUBPAR@font}
{\hskip-\SUF@tochang@subpar%
- \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subpar}
+ \makebox[1em][l]{\thecontentspage}\hskip\SUF@addto@tochang@subpar%
+ \SUF@tocSUBPAR@font}
{}
+\fi
\titlecontents{figure}
[\SUF@tochang@fig]
{}
@@ -5267,8 +5710,8 @@ Janusz M.~Nowacki.
[\addvspace{1ex}]
\ifsuftesi@toccompactsec
\titlecontents*{section}[\SUF@tocindent@chap]{}{%
- \SUF@SEC@thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}{\SUF@tocSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotsec]
+ \SUF@SEC@thecontentslabel\adjtoclabelsep\SUF@tocSEC@font}
+ {\SUF@tocSEC@font}{, \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{section}
[\SUF@tocindent@sec]
@@ -5285,9 +5728,9 @@ Janusz M.~Nowacki.
\else\SUF@titlerule\fi\contentspage}
\fi
\ifsuftesi@toccompactsubsec
-\titlecontents*{subsection}[\SUF@tocindent@sec]{\suf@sscorrect}{%
- \SUF@SUBSEC@thecontentslabel\adjtoclabelsep\SUF@tocSUBSEC@font}{\SUF@tocSUBSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotssec]
+\titlecontents*{subsection}[\SUF@tocindent@sec]{\SUF@sscorrect}{%
+ \SUF@SUBSEC@thecontentslabel\adjtoclabelsep\SUF@tocSUBSEC@font}
+ {\SUF@tocSUBSEC@font}{, \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{subsection}
[\SUF@tocindent@subsec]
@@ -5300,10 +5743,10 @@ Janusz M.~Nowacki.
{\SUF@titlerule\contentspage}
\fi
\ifsuftesi@toccompactsubsubsec
-\titlecontents*{subsubsection}[\SUF@tocindent@subsec]{\suf@ssscorrect}{%
+\titlecontents*{subsubsection}[\SUF@tocindent@subsec]{\SUF@ssscorrect}{%
\SUF@SUBSUBSEC@thecontentslabel\adjtoclabelsep%
\SUF@tocSUBSUBSEC@font}{\SUF@tocSUBSUBSEC@font}{,
- \thecontentspage}[][.\adjtocpagesep][\suf@ctocdotsssec]
+ \thecontentspage.}[][\adjtocpagesep][]
\else
\titlecontents{subsubsection}
[\SUF@tocindent@subsubsec]
@@ -5315,20 +5758,38 @@ Janusz M.~Nowacki.
\SUF@tocSUBSUBSEC@font}
{\SUF@titlerule\contentspage}
\fi
+\ifsuftesi@toccompactpar
+\titlecontents*{paragraph}[\SUF@tocindent@subsubsec]{\SUF@pcorrect}{%
+ \SUF@PAR@thecontentslabel\adjtoclabelsep%
+ \SUF@tocPAR@font}{\SUF@tocPAR@font}{,
+ \thecontentspage.}[][\adjtocpagesep][]
+\else
\titlecontents{paragraph}
[\SUF@tocindent@par]
{}
{\hskip-\dimexpr(\SUF@label@par+1em)%
- \makebox[\SUF@label@par][l]{\thecontentslabel}\hspace*{1em}}
- {\hskip-\dimexpr(\SUF@label@par+1em)}
+ \makebox[\SUF@label@par][l]{\thecontentslabel}\hspace*{1em}%
+ \SUF@tocPAR@font}
+ {\hskip-\dimexpr(\SUF@label@par+1em)%
+ \SUF@tocPAR@font}
{\SUF@titlerule\contentspage}
+\fi
+\ifsuftesi@toccompactsubpar
+\titlecontents*{subparagraph}[\SUF@tocindent@par]{\SUF@pcorrect}{%
+ \SUF@SUBPAR@thecontentslabel\adjtoclabelsep%
+ \SUF@tocSUBPAR@font}{\SUF@tocSUBPAR@font}{,
+ \thecontentspage.}[][\adjtocpagesep][]
+\else
\titlecontents{subparagraph}
[\SUF@tocindent@subpar]
{}
{\hskip-\dimexpr(\SUF@label@subpar+1em)%
- \makebox[\SUF@label@subpar][l]{\thecontentslabel}\hspace*{1em}}
- {\hskip-\dimexpr(\SUF@label@subpar+1em)}
+ \makebox[\SUF@label@subpar][l]{\thecontentslabel}\hspace*{1em}%
+ \SUF@tocSUBPAR@font}
+ {\hskip-\dimexpr(\SUF@label@subpar+1em)%
+ \SUF@tocSUBPAR@font}
{\SUF@titlerule\contentspage}
+\fi
\titlecontents{figure}
[\SUF@tocindent@fig]
{}
@@ -5345,6 +5806,37 @@ Janusz M.~Nowacki.
{\SUF@titlerule\contentspage}
\fi
% \end{macrocode}
+% \subparagraph{partial ToC}
+% \begin{macrocode}
+\titlecontents*{partialtocsection}[0cm]{}{%
+ \@partialtocseclabel\adjtoclabelsep\@partialtocsecfont}
+ {\@partialtocsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
+\titlecontents*{partialtocsubsection}[0cm]{\hskip.5em}{%
+ \@partialtocsubseclabel\adjtoclabelsep\@partialtocsubsecfont}
+ {\@partialtocsubsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
+\titlecontents*{partialtocsubsubsection}[0cm]{\hskip.5em}{%
+ \@partialtocsubsubseclabel\adjtoclabelsep\@partialtocsubsubsecfont}
+ {\@partialtocsubsubsecfont}{, \thecontentspage.}[][\adjtocpagesep][]
+\titlecontents*{partialtocparagraph}[0cm]{\hskip.5em}{%
+ \@partialtocparlabelfont\adjtoclabelsep\@partialtocparfont}
+ {\@partialtocparfont}{, \thecontentspage.}[][\adjtocpagesep][]
+\titlecontents*{partialtocsubparagraph}[0cm]{\hskip.5em}{%
+ \@partialtocsubparlabelfont\adjtoclabelsep\@partialtocsubparfont}
+ {\@partialtocsubparfont}{, \thecontentspage.}[][\adjtocpagesep][]
+\newcommand{\startpartialtoc}{%
+ \ifsuftesi@partialtoc\startcontents\fi}
+\newcommand{\printpartialtoc}{%
+ \ifsuftesi@partialtoc
+ \setcounter{tocdepth}{5}
+ \contentsmargin{0cm}
+ \@partialtocsize
+ \@partialtocbeforespace
+ \@partialtocbeforecode\par
+ \printcontents{partialtoc}{1}{}
+ \par\@partialtocaftercode
+ \@partialtocafterspace
+ \fi}
+% \end{macrocode}
% \subparagraph{The ToC, LoF and LoT in the \opt{article} structure}
% \begin{macrocode}
\ifsuftesi@article
@@ -5455,7 +5947,8 @@ Janusz M.~Nowacki.
}
\fi
% \end{macrocode}
-% \subsection{Customizing sections font}
+% \subsection{Customizations}
+% \subsubsection{Sections font}
% \begin{macrocode}
\newcommand{\tocpartname}[1]{\def\SUF@tocpartname{#1}}
\tocpartname{\partname}
@@ -5464,29 +5957,87 @@ Janusz M.~Nowacki.
\newcommand{\secfont}[1]{\def\SUF@SEC@StyleSwitch{#1}}
\newcommand{\subsecfont}[1]{\def\SUF@SUBSEC@StyleSwitch{#1}}
\newcommand{\subsubsecfont}[1]{\def\SUF@SUBSUBSEC@StyleSwitch{#1}}
-\newcommand{\partnumfont}[1]{\def\SUF@PART@font{#1}}
- \partnumfont{}
+\newcommand{\partnumfont}[1]{\def\SUF@PART@font{#1}}\partnumfont{}
\newcommand{\chapnumfont}[1]{\def\SUF@thechapter{#1}}
\newcommand{\secnumfont}[1]{\def\SUF@thesection{#1}}
\newcommand{\subsecnumfont}[1]{\def\SUF@thesubsection{#1}}
\newcommand{\subsubsecnumfont}[1]{\def\SUF@thesubsubsection{#1}}
-\newcommand{\titlefont}[1]{\def\SUF@titlefont@Switch{#1}}
-\newcommand{\authorfont}[1]{\def\SUF@authorfont@Switch{#1}}
+\newcommand{\titlefont}[1]{\def\SUF@Tfont@style{#1}\let\SUF@Tfont@shape\relax}
+\newcommand{\authorfont}[1]{\def\SUF@Afont@style{#1}\let\SUF@Afont@shape\relax}
+\newcommand{\datefont}[1]{\def\SUF@datefont{#1}}
+% \end{macrocode}
+% \subsubsection{Sections font in ToC}
+% \begin{macrocode}
\newcommand{\tocpartfont}[1]{\def\SUF@tocPART@font{#1}}
\newcommand{\tocchapfont}[1]{\def\SUF@tocCHAP@font{#1}}
\newcommand{\tocsecfont}[1]{\def\SUF@tocSEC@font{#1}}
\newcommand{\tocsubsecfont}[1]{\def\SUF@tocSUBSEC@font{#1}}
\newcommand{\tocsubsubsecfont}[1]{\def\SUF@tocSUBSUBSEC@font{#1}}
-\newcommand{\tocpartnumfont}[1]{\def\SUF@tocPARTnum@font{#1}}
- \tocpartnumfont{}
+\newcommand{\tocparfont}[1]{\def\SUF@tocPAR@font{#1}}
+\newcommand{\tocsubparfont}[1]{\def\SUF@tocSUBPAR@font{#1}}
+\newcommand{\tocpartnumfont}[1]{\def\SUF@tocPARTnum@font{#1}}\tocpartnumfont{}
\newcommand{\tocchapnumfont}[1]{%
- \def\SUF@CHAP@thecontentslabel{#1\thecontentslabel}}
+ \def\SUF@CHAP@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
\newcommand{\tocsecnumfont}[1]{%
- \def\SUF@SEC@thecontentslabel{#1\thecontentslabel}}
+ \def\SUF@SEC@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
\newcommand{\tocsubsecnumfont}[1]{%
- \def\SUF@SUBSEC@thecontentslabel{#1\thecontentslabel}}
+ \def\SUF@SUBSEC@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
\newcommand{\tocsubsubsecnumfont}[1]{%
- \def\SUF@SUBSUBSEC@thecontentslabel{#1\thecontentslabel}}
+ \def\SUF@SUBSUBSEC@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\tocparnumfont}[1]{%
+ \def\SUF@PAR@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\tocsubparnumfont}[1]{%
+ \def\SUF@SUBPAR@thecontentslabel{\begingroup#1\thecontentslabel\endgroup}}
+\tocparnumfont{}
+\tocsubparnumfont{}
+% \end{macrocode}
+% \subsubsection{The partial ToC}
+% \begin{macrocode}
+\newcommand{\partialtocsize}[1]{%
+ \def\@partialtocsize{#1}}
+\newcommand{\partialtocsecfont}[1]{%
+ \def\@partialtocsecfont{#1}}
+\newcommand{\partialtocsubsecfont}[1]{%
+ \def\@partialtocsubsecfont{#1}}
+\newcommand{\partialtocsubsubsecfont}[1]{%
+ \def\@partialtocsubsubsecfont{#1}}
+\newcommand{\partialtocparfont}[1]{%
+ \def\@partialtocparfont{#1}}
+\newcommand{\partialtocsubparfont}[1]{%
+ \def\@partialtocsubparfont{#1}}
+\newcommand{\partialtocseclabel}[1]{%
+ \def\@partialtocseclabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\partialtocsubseclabel}[1]{%
+ \def\@partialtocsubseclabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\partialtocsubsubseclabel}[1]{%
+ \def\@partialtocsubsubseclabel{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\partialtocparlabelfont}[1]{%
+ \def\@partialtocparlabelfont{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\partialtocsubparlabelfont}[1]{%
+ \def\@partialtocsubparlabelfont{\begingroup#1\thecontentslabel\endgroup}}
+\newcommand{\partialtocbeforespace}[1]{%
+ \def\@partialtocbeforespace{\vspace*{#1}}}
+\newcommand{\partialtocafterspace}[1]{%
+ \def\@partialtocafterspace{\vspace*{#1}}}
+\newcommand{\partialtocbeforecode}[1]{%
+ \def\@partialtocbeforecode{#1}}
+\newcommand{\partialtocaftercode}[1]{%
+ \def\@partialtocaftercode{#1}}
+\partialtocsize{\footnotesize}
+\partialtocsecfont{\itshape}
+\partialtocsubsecfont{}
+\partialtocsubsubsecfont{}
+\partialtocparfont{}
+\partialtocsubparfont{}
+\partialtocseclabel{\itshape}
+\partialtocsubseclabel{}
+\partialtocsubsubseclabel{}
+\partialtocparlabelfont{}
+\partialtocsubparlabelfont{}
+\partialtocbeforespace{18ex}
+\partialtocafterspace{-18ex}
+\partialtocbeforecode{}
+\partialtocaftercode{}
% \end{macrocode}
% \subsection{New commands}
% A command to print an unnumbered introduction at the beginning of the chapter. The \cmd{chapterintroname} defaults to ``Introduzione'' because the class was initially designed primarily for Italian-speaking users.
@@ -5520,7 +6071,7 @@ Janusz M.~Nowacki.
{\ifbreakinbody\newline\else\fi}
\let\origtableofcontents\tableofcontents
\renewcommand{\tableofcontents}{%
- \begingroup
+ \begingroup\suftesi@partialtocfalse
\breakintoctrue\breakinbodyfalse%
\origtableofcontents
\endgroup}
diff --git a/macros/latex/contrib/suftesi/suftesi.pdf b/macros/latex/contrib/suftesi/suftesi.pdf
index d6486c3ec7..e68f47ca08 100644
--- a/macros/latex/contrib/suftesi/suftesi.pdf
+++ b/macros/latex/contrib/suftesi/suftesi.pdf
Binary files differ
diff --git a/macros/latex/contrib/suppose/README.md b/macros/latex/contrib/suppose/README.md
index 3aa4bdcf2b..41ae6264a9 100644
--- a/macros/latex/contrib/suppose/README.md
+++ b/macros/latex/contrib/suppose/README.md
@@ -1,22 +1,26 @@
# the ``suppose`` package
## Andrew Lounsbury
### Licensed with LPPL 1.3c
-### 1.2.1 2021/04/09
+### 1.2.2 2021/05/20
This package provides abbreviations of the word "Suppose" in various fonts and styles. \
See the documentation `suppose-doc.pdf` for a demonstration.
-## Change log
-|**1.1 2021/03/26** |
-|-------------------|
-| Added options for setting `\supp`, `\bsup`, `\ssup`, and `\sbsup` to one font |
+## Change log
+|**1.1 2021/03/26** |
+|------------------------------------|
+| Added options for setting one font |
-|**1.2 2021/04/01** |
-|-------------------|
-| Added `slant` option |
+|**1.2 2021/04/01** |
+|------------------------------------------------------------|
+| Added `slant` option |
| Fixed bug in `\PackageWarning` message for unknown options |
-| Adjusted placement of the `\rule` for each font |
+| Adjusted placement of the `\rule` for each font |
-|**1.2.1 2021/04/09** |
-|-------------------|
+|**1.2.1 2021/04/09** |
+|-------------------------------------------------------------------|
| Adjusted placement and thickness of the `\rule` for most commands |
+
+|**1.2.2 2021/05/20** |
+|-------------------------|
+| Improved implementation | \ No newline at end of file
diff --git a/macros/latex/contrib/suppose/suppose-doc.pdf b/macros/latex/contrib/suppose/suppose-doc.pdf
index e0ab273d51..dafb35b642 100644
--- a/macros/latex/contrib/suppose/suppose-doc.pdf
+++ b/macros/latex/contrib/suppose/suppose-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/suppose/suppose-doc.tex b/macros/latex/contrib/suppose/suppose-doc.tex
index 5093f4e51b..4ba3d5f7e4 100644
--- a/macros/latex/contrib/suppose/suppose-doc.tex
+++ b/macros/latex/contrib/suppose/suppose-doc.tex
@@ -1,22 +1,24 @@
\documentclass{article}
\usepackage{xcolor}
\usepackage{hyperref}
-\usepackage[tt, slant]{suppose}
-\setlength{\textwidth}{15.75cm}
-\setlength{\oddsidemargin}{0.75cm}
+\usepackage{suppose}
+\addtolength{\textwidth}{3.75cm}
+\addtolength{\oddsidemargin}{-2cm}
\begin{document}
\title{The \texttt{suppose} package}
-\author{1.2.1 \ 2021/04/09}
-\date{Andrew Lounsbury, \href{mailto:alounsbury8@gmail.com}{alounsbury8@gmail.com}}
+\author{1.2.2 \ 2021/05/20}
+\date{
+ Andrew Lounsbury, \texttt{\href{mailto:alounsbury8@gmail.com}{alounsbury8@gmail.com}}
+}
\maketitle
-This package is licensed with LPPL 1.3c, and provides the following abbreviations of the word ``Suppose.'' I recommend only using these symbols when the immediately succeeding strings are mathematical in nature, and they do in fact require math mode. I do not recommend using them in formal work. \par
+This package is licensed with \href{https://ctan.org/license/lppl1.3c}{LPPL 1.3c}, and provides the following abbreviations of the word ``Suppose.'' I recommend only using these symbols when the immediately succeeding strings are mathematical in nature, and they do in fact require math mode. I do not recommend using them in formal work. \par
The two main commands are \texttt{\textbackslash supp} and \texttt{\textbackslash bsup}, whose style and font may be specified with the options so that we can use them consistently. For example,
-\begin{verbatim}
- \usepackage[dutchcal, slant]{suppose}
-\end{verbatim}
-will make \texttt{\textbackslash supp} print in the \texttt{dutchcal} font with a slanted line and make \texttt{\textbackslash bsup} print the bold version of the same thing. The default font is the regular \texttt{mathit} serif font, and the vertical line is upright by default.
+\begin{center}
+ \fbox{\texttt{\textbackslash usepackage[dutchcal, slant]\{suppose\}}}
+\end{center}
+will make \texttt{\textbackslash supp} print in the \texttt{dutchcal} font with a slanted line and make \texttt{\textbackslash bsup} print the bold version of the same thing. The default font is the regular serif math mode font, and the vertical line is upright by default.
Though it is better to use the options with \texttt{\textbackslash supp} and \texttt{\textbackslash bsup}, every combination of font and style provided here can be hard-coded with the following commands.
\begin{center}
@@ -45,7 +47,7 @@ Though it is better to use the options with \texttt{\textbackslash supp} and \te
& \scsup x < y & \sbcsup x < y & \mathcal{MATHCAL} \\
\textsl{Slanted} & \sdsup x < y & \sbdsup x < y & \mathdutchcal{DUTCHCAL} \\
\textsl{Line} & \sesup x < y & \sbesup x < y & \EuScript{EULERSCRIPT} \\
- & \svsup < y & \sbvsup x < y & \mathsf{SANS\ SERIF} \\
+ & \svsup x < y & \sbvsup x < y & \mathsf{SANS\ SERIF} \\
& \stsup x < y & \sbtsup x < y & \mathtt{TYPERWRITER}
\end{array}
\]
diff --git a/macros/latex/contrib/suppose/suppose.sty b/macros/latex/contrib/suppose/suppose.sty
index 9c1d2ca830..9c4c858fa8 100644
--- a/macros/latex/contrib/suppose/suppose.sty
+++ b/macros/latex/contrib/suppose/suppose.sty
@@ -1,4 +1,4 @@
-% suppose.sty 1.2.1 2021/04/09
+% suppose.sty 1.2.2 2021/05/20
% Andrew Lounsbury
%************************************************************************
@@ -20,145 +20,303 @@
% This work consists of the file suppose.sty.
%************************************************************************
\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{suppose}[2021/04/09 1.2.1 supposition symbols]
-%
-\RequirePackage{amsmath, euscript, graphicx}%
-%
-\DeclareMathAlphabet{\mathbfcal}{OMS}{cmsy}{b}{n}%
-\DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}%
-\DeclareMathAlphabet{\mathdutchbfcal}{U}{dutchcal}{b}{n}%
-\newcommand*{\bfeuscript}[1]{\boldsymbol{\EuScript{#1}}}%
-\newcommand*{\sansserif}[1]{\textit{{\fontfamily{lmss}\selectfont #1}}}%
-\newcommand*{\bfsansserif}[1]{\textbf{\textit{{\fontfamily{lmss}\selectfont #1}}}}%
-%
+\ProvidesPackage{suppose}[2021/05/20 1.2.2 supposition symbols]
+\RequirePackage{amsmath, euscript, graphicx}
+
+\DeclareMathAlphabet{\mathbfcal}{OMS}{cmsy}{b}{n}
+\DeclareMathAlphabet{\mathdutchcal}{U}{dutchcal}{m}{n}
+\DeclareMathAlphabet{\mathdutchbfcal}{U}{dutchcal}{b}{n}
+\newcommand*{\bfeuscript}[1]{\boldsymbol{\EuScript{#1}}}
+\newcommand*{\sansserif}[1]{\textit{{\fontfamily{lmss}\selectfont #1}}}
+\newcommand*{\bfsansserif}[1]{\textbf{\textit{{\fontfamily{lmss}\selectfont #1}}}}
\font\bitt=rm-lmtko10 % bold italicized typewriter font
-\newcommand*{\itt}[1]{\scalebox{1.11}{\textit{\texttt{#1}}}}%
-\newcommand*{\bolditt}[1]{$\scalebox{1.11}{\bitt #1}$}%
-%
+\newcommand*{\itt}[1]{\scalebox{1.11}{\textit{\texttt{#1}}}}
+\newcommand*{\bolditt}[1]{$\scalebox{1.11}{\bitt #1}$}
+
+\newlength{\Swidth}
+\settowidth{\Swidth}{S}
+
+% horizontal alignments for \rule's
+\newlength{\shift} % shift for \supp
+ \setlength{\shift}{0.25\Swidth}
+\newlength{\bshift} % shift for \bsup
+ \setlength{\bshift}{0.425\Swidth}
+% plain font
+\newlength{\plainshift}
+ \setlength{\plainshift}{0.25\Swidth}
+\newlength{\bplainshift}
+ \setlength{\bplainshift}{0.425\Swidth}
+% mathcal
+\newlength{\cshift}
+ \setlength{\cshift}{0.25\Swidth}
+\newlength{\bcshift}
+ \setlength{\bcshift}{0.45\Swidth}
+% dutchcal
+\newlength{\dshift}
+ \setlength{\dshift}{0.35\Swidth}
+\newlength{\bdshift}
+ \setlength{\bdshift}{0.35\Swidth}
+% eulerscript
+\newlength{\eshift}
+ \setlength{\eshift}{-0.055\Swidth}
+\newlength{\beshift}
+ \setlength{\beshift}{0.06\Swidth}
+% sans-serif
+\newlength{\vshift}
+ \setlength{\vshift}{-0.085\Swidth}
+\newlength{\hardvshift}
+ \setlength{\hardvshift}{0.2\Swidth}
+\newlength{\bvshift}
+ \setlength{\bvshift}{0.3\Swidth}
+% tt
+\newlength{\tshift}
+ \setlength{\tshift}{0.55\Swidth}
+\newlength{\btshift}
+ \setlength{\btshift}{-0.085\Swidth}
+% Shifts for slanted \rule's
+\newlength{\sshift} % slant shift
+ \setlength{\sshift}{0.4\Swidth}
+\newlength{\sbshift} % slant bold shift
+ \setlength{\sbshift}{0.55\Swidth}
+% Slant mathcal
+\newlength{\scshift}
+ \addtolength{\scshift}{\Swidth}
+\newlength{\sbcshift}
+ \setlength{\sbcshift}{-1\Swidth}
+% Slant dutchcal
+\newlength{\sdshift}
+ \setlength{\sdshift}{0.45\Swidth}
+\newlength{\sbdshift}
+ \setlength{\sbdshift}{0.475\Swidth}
+% Slant eulerscript
+\newlength{\seshift}
+ \setlength{\seshift}{0.1\Swidth}
+\newlength{\sbeshift}
+ \setlength{\sbeshift}{0.2\Swidth}
+% Slant sans-serif
+\newlength{\svshift}
+ \setlength{\svshift}{0.1\Swidth}
+\newlength{\hardsvshift}
+ \setlength{\hardsvshift}{0.375\Swidth}
+\newlength{\sbvshift}
+ \setlength{\sbvshift}{0.4\Swidth}
+% Slant tt
+\newlength{\stshift}
+ \setlength{\stshift}{0.675\Swidth}
+\newlength{\sbtshift}
+ \setlength{\sbtshift}{0.065\Swidth}
+
+% Parameters
\newcounter{angle} % angle at which the \rule's are rotated
-\setcounter{angle}{0}%
-\newlength{\shift} % horizontal shift of \rule's
-\setlength{\shift}{-0.0025in}%
-\newlength{\boldshift}%
-\setlength{\boldshift}{0.0485in}%
-\newlength{\rulelength}%
-\setlength{\rulelength}{1.3ex}%
-\newlength{\rulewidth}%
-\setlength{\rulewidth}{0.15ex}%
-\newlength{\boldrulelength}%
-\setlength{\boldrulelength}{1.3ex}%
-\newlength{\boldrulewidth}%
-\setlength{\boldrulewidth}{0.25ex}%
-\newcommand{\curfont}{\mathnormal}%
-\newcommand{\curboldfont}{\boldsymbol}%
-%
+\newlength{\rulelength}
+ \setlength{\rulelength}{1.3ex}
+\newlength{\rulewidth}
+ \setlength{\rulewidth}{0.15ex}
+\newlength{\boldrulelength}
+ \setlength{\boldrulelength}{1.3ex}
+\newlength{\boldrulewidth}
+ \setlength{\boldrulewidth}{0.25ex}
+\newcommand{\curfont}{\mathnormal} % current font
+\newcommand{\curboldfont}{\boldsymbol}
+
+\newcounter{slantselected}
\DeclareOption{slant}{%
+ \setcounter{slantselected}{1}%
\setcounter{angle}{-15}%
- \setlength{\shift}{-0.0075in}%
- \setlength{\boldshift}{0.0425in}%
-}%
+ \setlength{\shift}{\sshift}%
+ \setlength{\bshift}{\sbshift}%
+}
\DeclareOption{mathcal}{%
- \ifdim\boldshift = 0.0425in % if slant option selected
- \addtolength{\shift}{0.00225in}%
- \addtolength{\boldshift}{0.0015in}%
- \fi%
\renewcommand{\curfont}{\mathcal}%
\renewcommand{\curboldfont}{\mathbfcal}%
\addtolength{\rulelength}{0.1ex}%
\addtolength{\boldrulelength}{0.15ex}%
- \addtolength{\shift}{-0.00125in}%
-}%
+}
\DeclareOption{dutchcal}{%
- \ifdim\boldshift = 0.0425in%
- \addtolength{\shift}{0.0012in}%
- \addtolength{\boldshift}{0.0012in}%
- \fi%
\renewcommand{\curfont}{\mathdutchcal}%
\renewcommand{\curboldfont}{\mathdutchbfcal}%
\addtolength{\rulelength}{0.1ex}%
- \addtolength{\shift}{0.0025in}%
\addtolength{\boldrulelength}{0.145ex}%
- \addtolength{\boldshift}{-0.0035in}%
\addtolength{\boldrulewidth}{-0.025ex}%
-}%
-\DeclareOption{eulerscript}{%
- \ifdim\boldshift = 0.0425in%
- \addtolength{\shift}{0.0000000000000000001in}%
- \addtolength{\boldshift}{0.00125in}%
+ \setlength{\shift}{\dshift}
+ \setlength{\bshift}{\bdshift}
+ \ifnum\value{slantselected} = 1% if slant option is selected
+ \setlength{\shift}{\sdshift}%
+ \setlength{\bshift}{\sbdshift}%
\fi%
+}
+\DeclareOption{eulerscript}{%
\renewcommand{\curfont}{\EuScript}%
\renewcommand{\curboldfont}{\bfeuscript}%
\addtolength{\rulelength}{0.1ex}%
- \addtolength{\shift}{-0.01275in}%
- \addtolength{\boldshift}{-0.01525in}%
-}%
-\DeclareOption{sans-serif}{%
- \ifdim\boldshift = 0.0425in%
- \addtolength{\shift}{0.001in}%
- \addtolength{\boldshift}{0.001in}%
+ \setlength{\shift}{\eshift}%
+ \setlength{\bshift}{\beshift}%
+ \ifnum\value{slantselected} = 1%
+ \setlength{\shift}{\seshift}%
+ \setlength{\bshift}{\sbeshift}%
\fi%
+}
+\DeclareOption{sans-serif}{%
\renewcommand{\curfont}{\sansserif}%
\renewcommand{\curboldfont}{\bfsansserif}%
- \addtolength{\shift}{-0.01375in}%
- \addtolength{\boldshift}{-0.005in}%
-}%
-\DeclareOption{tt}{%
- \ifdim\boldshift = 0.0425in%
- \addtolength{\shift}{0.001in}%
- \addtolength{\boldrulewidth}{-0.025ex}%
+ \setlength{\shift}{\vshift}%
+ \setlength{\bshift}{\bvshift}%
+ \ifnum\value{slantselected} = 1%
+ \setlength{\shift}{\svshift}%
+ \setlength{\bshift}{\sbvshift}%
\fi%
+}
+\DeclareOption{tt}{%
\renewcommand{\curfont}{\itt}%
\renewcommand{\curboldfont}{\bolditt}%
- \addtolength{\shift}{0.0114in}%
\addtolength{\boldrulelength}{0.1ex}%
- \addtolength{\boldshift}{-0.02in}%
-}%
-\DeclareOption*{\PackageWarning{suppose}{Unknown '\CurrentOption'}}%
-\ProcessOptions\relax%
-%
+ \setlength{\shift}{\tshift}%
+ \setlength{\bshift}{\btshift}%
+ \ifnum\value{slantselected} = 1%
+ \setlength{\shift}{\stshift}%
+ \setlength{\bshift}{\sbtshift}%
+ \fi%
+}
+\DeclareOption*{\PackageWarning{suppose}{Unknown '\CurrentOption'}}
+\ProcessOptions\relax
+
% The two main commands
-\newlength{\Swidth}%
-\settowidth{\Swidth}{S}%
\newcommand{\supp}{%
- \makebox[\Swidth][r]{%
+ \makebox[\Swidth][c]{%
$\rotatebox{\value{angle}}{%
\rule[-0.5ex]{\rulewidth}{\rulelength}%
- }$\hspace{\shift}\ %
+ }$\hspace{\shift}%
}\llap{$\curfont{S}$}\mspace{5mu}%
-}%
+}
\newcommand{\bsup}{%
- \makebox[\Swidth][r]{%
+ \makebox[\Swidth][c]{%
$\rotatebox{\value{angle}}{%
\rule[-0.5ex]{\boldrulewidth}{\boldrulelength}%
- }$\hspace{\boldshift}%
- }\llap{$\curboldfont{S}$%
-}\mspace{5mu}}%
-%
+ }$\hspace{\bshift}%
+ }\llap{$\curboldfont{S}$}\mspace{5mu}%
+}
+
% Commands for hard-coding
-\newcommand{\plainsupp}{\makebox[\Swidth][r]{$\rule[-0.5ex]{\rulewidth}{1.3ex}\mspace{-0.25mu}$\ }\llap{$S$}\mspace{5mu}}%
-\newcommand{\csup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.45ex}\mspace{8.5mu}$}\llap{$\mathcal{S}$}\mspace{5mu}}%
-\newcommand{\dsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.45ex}\mspace{9.5mu}$}\llap{$\mathdutchcal{S}$}\mspace{5mu}}%
-\newcommand{\esup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.35ex}\mspace{5.25mu}$}\llap{$\EuScript{S}$}\mspace{5mu}}%
-\newcommand{\tsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.3ex}\mspace{5.5mu}$\ }\llap{\scalebox{1.1}{\textit{\texttt{S}}}}\mspace{5mu}}%
-\newcommand{\vsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\rulewidth}{1.45ex}\mspace{7.75mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
+\newcommand{\plainsupp}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\rulewidth}{1.3ex}$\hspace{\plainshift}%
+ }\llap{$\mathnormal{S}$}\mspace{5mu}%
+}
+\newcommand{\csup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\rulewidth}{1.45ex}$\hspace{\cshift}%
+ }\llap{$\mathcal{S}$}\mspace{5mu}%
+}
+\newcommand{\dsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\rulewidth}{1.45ex}$\hspace{\dshift}%
+ }\llap{$\mathdutchcal{S}$}\mspace{5mu}%
+}
+\newcommand{\esup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\rulewidth}{1.35ex}$\hspace{\eshift}%
+ }\llap{$\EuScript{S}$}\mspace{5mu}%
+}
+\newcommand{\vsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\rulewidth}{1.45ex}$\hspace{\hardvshift}%
+ }\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}%
+}
+\newcommand{\tsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\rulewidth}{1.3ex}$\hspace{\tshift}%
+ }\llap{\scalebox{1.1}{\textit{\texttt{S}}}}\mspace{5mu}%
+}
% Bold
-\newcommand{\plainbsup}{\makebox[\Swidth][r]{$\rule[-0.5ex]{\boldrulewidth}{1.3ex}\mspace{6.3mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
-\newcommand{\bcsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.45ex}\mspace{10.5mu}$}\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}}%
-\newcommand{\bdsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{0.225ex}{1.5ex}\mspace{9.5mu}$}\llap{$\mathdutchbfcal{S}$}\mspace{5mu}}%
-\newcommand{\besup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.35ex}\mspace{6.4mu}$}\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}}%
-\newcommand{\btsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.3ex}\mspace{-0.675mu}$\ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}}%
-\newcommand{\bvsup}{\makebox[\Swidth][c]{\ $\rule[-0.5ex]{\boldrulewidth}{1.45ex}\mspace{9mu}$}\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}}%
+\newcommand{\plainbsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\boldrulewidth}{1.3ex}$\hspace{\bplainshift}%
+ }\llap{$\boldsymbol{S}$}\mspace{5mu}%
+}
+\newcommand{\bcsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\boldrulewidth}{1.45ex}$\hspace{\bcshift}%
+ }\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}%
+}
+\newcommand{\bdsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{0.225ex}{1.5ex}$\hspace{\bdshift}%
+ }\llap{$\mathdutchbfcal{S}$}\mspace{5mu}%
+}
+\newcommand{\besup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\boldrulewidth}{1.35ex}$\hspace{\beshift}%
+ }\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}%
+}
+\newcommand{\bvsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\boldrulewidth}{1.45ex}$\hspace{\bvshift}%
+ }\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}%
+}
+\newcommand{\btsup}{%
+ \makebox[\Swidth][c]{%
+ $\rule[-0.5ex]{\boldrulewidth}{1.3ex}$\hspace{\btshift}%
+ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}%
+}
% Slanted rule
-\newcommand{\ssup}{\makebox[\Swidth][r]{$\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.3ex}}\mspace{5mu}$}\llap{$S$}\mspace{5mu}}%
-\newcommand{\scsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.45ex}}\mspace{10mu}$}\llap{$\mathcal{S}$}\mspace{5mu}}%
-\newcommand{\sdsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.35ex}}\mspace{11mu}$}\llap{$\mathdutchcal{S}$}\mspace{5mu}}%
-\newcommand{\sesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.4ex}}\mspace{6.6mu}$}\llap{$\EuScript{S}$}\mspace{5mu}}%
-\newcommand{\stsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.3ex}}\mspace{6.8mu}$\ }\llap{\scalebox{1.11}{\textit{\texttt{S}}}}\mspace{5mu}}%
-\newcommand{\svsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.45ex}}\mspace{9mu}$}\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}}%
+\newcommand{\ssup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.3ex}}$\hspace{\sshift}%
+ }\llap{$S$}\mspace{5mu}%
+}
+\newcommand{\scsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.45ex}}$\hspace{\sshift}%
+ }\llap{$\mathcal{S}$}\mspace{5mu}%
+}
+\newcommand{\sdsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.35ex}}$\hspace{\sdshift}%
+ }\llap{$\mathdutchcal{S}$}\mspace{5mu}%
+}
+\newcommand{\sesup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.4ex}}$\hspace{\seshift}%
+ }\llap{$\EuScript{S}$}\mspace{5mu}%
+}
+\newcommand{\svsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.45ex}}$\hspace{\hardsvshift}%
+ }\llap{\textit{{\fontfamily{lmss}\selectfont S}}}\mspace{5mu}%
+}
+\newcommand{\stsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\rulewidth}{1.3ex}}$\hspace{\stshift}%
+ }\llap{\scalebox{1.11}{\textit{\texttt{S}}}}\mspace{5mu}%
+}
% Slanted & bold
-\newcommand{\sbsup}{\makebox[\Swidth][r]{$\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.3ex}}\mspace{5.5mu}$}\llap{$\boldsymbol{S}$}\mspace{5mu}}%
-\newcommand{\sbcsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}\mspace{12mu}$}\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}}%
-\newcommand{\sbdsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.4ex}}\mspace{11mu}$}\llap{$\mathdutchbfcal{S}$}\mspace{5mu}}%
-\newcommand{\sbesup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}\mspace{7.6mu}$}\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}}%
-\newcommand{\sbtsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.4ex}}\mspace{0.5mu}$\ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}}%
-\newcommand{\sbvsup}{\makebox[\Swidth][c]{\ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}\mspace{10mu}$}\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}}% \ No newline at end of file
+\newcommand{\sbsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.3ex}}$\hspace{\sbshift}%
+ }\llap{$\boldsymbol{S}$}\mspace{5mu}%
+}
+\newcommand{\sbcsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}$\hspace{\sbshift}%
+ }\llap{$\boldsymbol{\mathcal{S}}$}\mspace{5mu}%
+}
+\newcommand{\sbdsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.4ex}}$\hspace{\sbdshift}%
+ }\llap{$\mathdutchbfcal{S}$}\mspace{5mu}%
+}
+\newcommand{\sbesup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}$\hspace{\sbeshift}%
+ }\llap{$\boldsymbol{\EuScript{S}}$}\mspace{5mu}%
+}
+\newcommand{\sbvsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.45ex}}$\hspace{\sbvshift}%
+ }\llap{\textbf{\textit{{\fontfamily{lmss}\selectfont S}}}}\mspace{5mu}%
+}
+\newcommand{\sbtsup}{%
+ \makebox[\Swidth][c]{%
+ $\rotatebox{-15}{\rule[-0.5ex]{\boldrulewidth}{1.4ex}}$\hspace{\sbtshift}%
+ }\llap{\scalebox{1.11}{\bitt S}}\mspace{5mu}%
+} \ No newline at end of file