diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/toptesi/toptesi.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/toptesi/toptesi.dtx | 574 |
1 files changed, 291 insertions, 283 deletions
diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx index 622278fa747..0e006e96844 100644 --- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx +++ b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx @@ -14,7 +14,7 @@ \endpreamble \postamble -Copyright 2005-2010 Claudio Beccari +Copyright 2005-2011 Claudio Beccari Distributable under the LaTeX Project Public License, version 1.3c or higher (your choice). The latest version of @@ -26,13 +26,13 @@ This work consists of this file toptesi.dtx, a README file and the derived files: toptesi.cls, toptesi.sty, topfront.sty, topcommand.sty, topsize14, -trieste.sty, toptesi.cfg, and the English documentation toptesi.pdf; +toptesi.cfg, and the English documentation toptesi.pdf; Furthermore the bundle contains the documentation source file toptesi-doc.tex and the derived file toptesi-doc.pdf. The toptesi-example.tex source file is just an example that shows how -to use the various commands; by commenting or decommenting certain +to use the various commands; by commenting or uncommenting certain source lines it is possible to typeset different kind of theses and their frontpages. @@ -52,7 +52,6 @@ another example of how to use toptesi. \generateFile{topcoman.sty}{t}{\from{toptesi.dtx}{topcmn}} \generateFile{topfront.sty}{t}{\from{toptesi.dtx}{topfrn}} \generateFile{topsiz14.clo}{t}{\from{toptesi.dtx}{top14}} -\generateFile{trieste.sty}{t}{\from{toptesi.dtx}{toptrst}} \generateFile{toptesi.cfg}{t}{\from{toptesi.dtx}{topcfg}} \def\tmpa{plain} @@ -87,7 +86,7 @@ another example of how to use toptesi. % \iffalse %<*driver> \documentclass{ltxdoc} -\ProvidesFile{toptesi.dtx}[2011/04/11 v.5.04 Documented TeX file for +\ProvidesFile{toptesi.dtx}[2011/05/11 v.5.05 Documented TeX file for the TOPtesi bundle] \GetFileInfo{toptesi.dtx} \title{The TOPtesi bundle} @@ -102,7 +101,7 @@ the TOPtesi bundle] %</driver> % \fi % -% \CheckSum{2921} +% \CheckSum{2933} % %% \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 @@ -174,7 +173,7 @@ the TOPtesi bundle] % The above files are complemented with a configuration file that any user may % personalize at will; these personalizations make it easy to configure the % bundle so as to make it suitable for another language; in facts the \textsf{babel} -% package contains localizations for many languages, but such localisations deal +% package contains localizations for many languages, but such localizations deal % with the standard infix \LaTeX\ names and phrases and do not cope with the thesis % title page requirements. % @@ -363,31 +362,32 @@ the TOPtesi bundle] % % Since the infix strings are all memorized into control sequences and for each of them it % is possible to use a defining command, all strings can be modified at will, so that there -% is no difficulty to localize the package in another language; this comes particularly handy -% for the Erasmus students on double degree programs. +% is no difficulty to localize the package in another language; this comes particularly +% handy for the Erasmus students on double degree programs. % % As a final remark notice that the commands for typesetting the title page are contained % in the package \texttt{topfront.sty}, which can be used as an autonomous extension to the -% \texttt{report} document class. One could easily typeset just the title page with a separate -% \TeX\ source file so as to test the completeness of the commands and coherence of the -% configuration file or for just printing the isolated title page. +% \texttt{report} document class. One could easily typeset just the title page with a +% separate \TeX\ source file so as to test the completeness of the commands and coherence +% of the configuration file or for just printing the isolated title page. % % \subsection{Typesetting commands} % The bundle and the TOPtesi document class accept all \LaTeX\ commands provided by -% the \LaTeX\ \texttt{kernel}, the \texttt{report} document class, and the \texttt{graphics} +% the \LaTeX\ \texttt{kernel}, the \texttt{report} document class, and the \texttt{graphicx} % extension package, besides those provided by the \texttt{babel} package. % -% With this respect it must be underlined that the Italian and English languages are specified -% by default, the Italian one being the default language. An initial specification of -% |\selectlanguage{english}| sets the English language as default. Should a student typeset -% the thesis in French, it would be necessary to specify the option \texttt{french} among the -% \emph{class} options, and so start the document by specifying |\selectlanguage{french}|. +% With this respect it must be underlined that the Italian and English languages are +% specified by default, the Italian one being the default language. An initial specification +% of |\selectlanguage{english}| sets the English language as default. Should a student +% typeset the thesis in French, it would be necessary to specify the option \texttt{french} +% among the \emph{class} options, and so start the document by specifying +% |\selectlanguage{french}|. % But the user should pay attention to use \texttt{babel} in the proper way: % \begin{itemize} % \item Due to the way \LaTeX\ classes load the requested files, and to the fact that the % \texttt{babel} package has already been loaded by the \texttt{toptesi} class, the user % cannot reload it with a different list of language options; therefore the latter language -% options \emph{must be specified} as global class options; therefore, if the thesis has +% options \emph{must be specified} as global class options; if the thesis has % to be typeset, fore example, in French, is is necessary to do the following: %\begin{verbatim} %\documentclass[...,french,...]{toptesi} @@ -395,18 +395,21 @@ the TOPtesi bundle] %\begin{document} %\selectlanguage{french} %\end{verbatim} -% \item With the 2010 \TeX\ system distributions, both \TeX Live and MiKTeX, all known -% (to \LaTeX) language hyphenation rules are preloaded; with other less up to date -% \TeX\ system distributions this might not be true. +% \item With the 2010 \TeX\ complete system distributions, both \TeX Live and MiKTeX, all +% known (to \LaTeX) language hyphenation rules are preloaded; with other less up to date +% \TeX\ system distributions this might not be true; this might not be true also with some +% Debian distributions of the \TeX\ system. % Remember that \texttt{babel} macros select the language typesetting rules, but hyphenation % is activated only if the program format file has been generated with the pertinent -% language hyphenation rules. You can check this detail by reading the first dozen of lines -% of your thesis \texttt{.log} file; there is the list of all language hyphenation rules that -% are available in the format file. +% language hyphenation rules. You can check this detail by reading the first dozen lines +% of your thesis \texttt{.log} file; there is the list of all language hyphenation rules +% that are available in the format file. % While (American) English is the default and almost any distribution of the \TeX\ system -% has many language defaults, it is more likely that French is preloaded while Italian is not. +% has many language defaults, it is more likely that French is preloaded while Italian is +% not. % -% Should the required language(s) be missing, the user is forced to read his/her distribution +% Should the required language(s) be missing, the user is forced to read his/her +% distribution % instructions, so as to find out how to configure his/her system so as to consider the % languages s/he wants to work with, and finally s/he must recreate the format files and put % them in the proper places of the standard or the local folder tree. The user is invited to @@ -446,20 +449,20 @@ the TOPtesi bundle] % in text mode. % % % \Item[ped] inserts a subscript in upright type; the ISO regulations -% require the use of italics for physical or mathematica quantities, and +% require the use of italics for physical or mathematical quantities, and % upright type for whatever is not a variable, from the names of % functions (such as sin, cos, log, etc.), to the indices that contain % information on something that is not variable. This means that $V_i$ % requires an italic index to imply that the object $V$ is the $i$-th in % a set, while, say, $V_{\mathrm{max}}$ indicates the maximum value of the -% variable $V$. This command may be used both in math and in text mode. +% variable $V$. This command may be used in both math and text mode. % % -% \Item[ap] similarly |\ap| inserts an apex in upright type, both in math -% and in text mode. +% \Item[ap] similarly |\ap| inserts an apex in upright type, in both math +% and text mode. % % % \Item[unit] sets the unit of measure close to the numerical measure by % insetting a non breakable thin space and by setting the units of -% measure in upright type; this works both in math and text mode. Of +% measure in upright type; this works in both math and text mode. Of % course it is necessary to input the |\unit| command without intervening % spaces in the source file; it's necessary to typeset, say, % |35\unit{km}| and to avoid to input \verb*+35 \unit{km}+. This command, @@ -484,14 +487,14 @@ the TOPtesi bundle] % nowadays the letter ``j'' in Italian is called with the English name % (much shorter than the traditional Italian name ``i~lunga'') and the % indicated spelling ``gei'' is the phonetic Italian rendering of the -% English word. The imaginary unit is not a variable, it is an operator, +% English word. The imaginary unit is not a variable, it is a vector operator, % so that the ISO regulations require for this symbol an upright type. % % % \Item[eu] inserts the Euler number symbol ``e'' in upright type; since % this entity is not a variable, but it is a mathematical constant, the % ISO regulations require it to be written in upright type. The ISO regulations require % the upright type for ``e'' and any mathematical constant, but -% the electron charge $e$ is typeset in math italics because this physical +% the electron charge $e$ is typeset in math italics because this is a physical % ``constant'', not a mathematical one. % % % \Item[listing] requires for its argument the name of a file and typesets it in verbatim @@ -609,7 +612,7 @@ the TOPtesi bundle] %<*class> \NeedsTeXFormat{LaTeX2e} \ProvidesClass{toptesi}% -[2011/04/11 v.5.04 Class for typesetting university theses] +[2011/05/11 v.5.05 Class for typesetting university theses] % \end{macrocode} % % The class itself is very simple since it requires just the \texttt{report} @@ -647,33 +650,43 @@ the TOPtesi bundle] %<*topsty> \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{toptesi}% -[2011/04/11 v.5.04 Extension for toptesi.cls]% +[2011/05/11 v.5.05 Extension for toptesi.cls]% % \end{macrocode} % -% We start with defining the debugging macros; these trace commands and macros -% and are the usual one I use for debugging. I know the \texttt{trace} package is supposed +% We start by defining the debugging macros; these trace commands and macros +% and are the usual ones I use for debugging. I know the \texttt{trace} package is supposed % to be much better, but I am used to these ones. % \begin{macrocode} \def\TRON{\tracingcommands \tw@ \tracingmacros \tw@} \def\TROFF{\tracingcommands\z@ \tracingmacros \z@} \let\TROF\TROFF % \end{macrocode} -% Now we define the specific package macros: \texttt{classica} and \texttt{trieste} +% Now we define the specific package options: \texttt{classica} and \texttt{trieste} % are identical; \texttt{trieste} is maintained for backward compatibility. % The option \texttt{14pt} is for choosing a normal size of 14pt; the class option % file \texttt{topsiz14.clo} has a name that should not conflict with other % similar class option packages and is in line with the other standard \texttt{size??.clo} % files. \texttt{chapterbib} allows to set a list of references at the end of each chapter. +% For the options specific to the \texttt{classica} style a couple of boolean variables are +% defined and the option definitions set them to the value ``true''. +% \begin{macrocode} +\newif\if@utoretitolo \@utoretitolofalse +\newif\if@ldstyle \@ldstylefalse +% \end{macrocode} + % \begin{macrocode} \newlength\T@Pbinding\setlength\T@Pbinding{7mm}\def\setbindingcorrection#1{\T@Pbinding=#1} \newif\if@binding \@bindingfalse \newif\ifT@Ppdfa \T@Ppdfafalse \newif\ifchapterbibliography \chapterbibliographyfalse +\newif\ifclassica \classicafalse \DeclareOption{cucitura}{\@bindingtrue} \DeclareOption{14pt}{\input{topsiz14.clo}} \DeclareOption{chapterbib}{\chapterbibliographytrue} -\DeclareOption{trieste}{\AtEndOfPackage{\RequirePackage{trieste}}} -\DeclareOption{classica}{\AtEndOfPackage{\RequirePackage{trieste}}} +\DeclareOption{trieste}{\classicatrue} +\DeclareOption{classica}{\classicatrue} +\DeclareOption{autoretitolo}{\ifclassica\@utoretitolotrue\fi} +\DeclareOption{oldstyle}{\ifclassica\@ldstyletrue\fi} \DeclareOption{pdfa}{\T@Ppdfatrue} % \ProcessOptions\relax @@ -732,7 +745,6 @@ the TOPtesi bundle] \advance\oddsidemargin \T@Pbinding \advance\evensidemargin -\T@Pbinding \advance\marginparwidth -\T@Pbinding - \advance\marginparwidth -\T@Pbinding \fi} % \end{macrocode} % @@ -1253,6 +1265,243 @@ Skipping any redefinition\MessageBreak}% \def\sf@size{7} % \end{macrocode} % +% \subsection{The \texttt{classica} option} +% As mentioned above, the \texttt{classica} option was devised in order to cope with theses +% in humanities and the specifications came from Paolo Ciacchi, a student of the University +% of Trieste, who was preparing a master thesis in classical Greek philology. The necessity +% of the large normal size derived from the necessity of having clear mark-up signs among +% the myriad philologists use, that sometimes let me believe that the philological mark-up +% requires typesetting environments similar to the mathematical ones, since the material to +% be typeset does not form a linear sequence, as in plain text, but a bi-dimensional +% structure as in mathematics. +% +% The other requirements involve the title page and I agreed to implement them, since they +% are likely to be useful for other universities as well; the effort for localizing this +% bundle makes this point less stringent compared to the previous versions, but there are +% other layout fine points that cannot be solved with a simple substitution of infix +% strings. +% +% The singular and plural masculine and feminine strings for ``candidate'' are redefined. +% For other languages the configuration file comes in handy. +% \begin{macrocode} +\ifclassica +\def\Candidato{Laureando} +\def\Candidata{Laureanda} +\def\Candidati{Laureandi} +\def\Candidate{Laureande} +\fi +% \end{macrocode} +% +% Since theses in humanities may end up to occupy several volumes (classically ``tomo'' +% in Italian means ``volume'', although the latter spelling is valid also in Italian with +% the same meaning but appears to be neglected by the humanists; in English ``tome'' +% indicates a ``large book''; in Italian the meaning nuance of ``tomo'' is a little +% different because it is used to indicate the volumes into which a large typeset work is +% divided; the humanists, as usual, know well their words and use them properly!) +% a mechanism is set up to create a different title page for each volume; we need a volume +% counter and a command to start each volume; the |\frontespizio| macro typesets the real +% title page and we have already seen that it can print the volume ordinal. The localization +% allows to change the infix string that is going to be printed. When several tomes are +% involved, instead of using the |\frontespizio| macro, use the |\tomo| one, that provides +% to stepping up the volume counter before actually printing the new tome title page. +% \begin{macrocode} +\newcounter{tomo} +\newcommand*{\tomo}{\clearpage\stepcounter{tomo}\frontespizio} +% \end{macrocode} +% Folios as well are to be redefined and also the page styles require a redefinition so as +% to being able to use old style numbers. The macro |\lapagina| (it's not a case the this +% macro name is the direct translation of ``the page'') contains the folio number; if it is +% in roman numerals nothing happens, but if the old style numbers are required the folio is +% surrounded by the proper macros so as to expand the folio macro before typesetting it in +% old style. The page style does not need an actual redefinition, because the original +% definition in file \texttt{toptesi.sty} already uses |\lapagina| as the typeset folio +% indicator. +% \begin{macrocode} +\renewcommand*{\lapagina}{% + \ifnumeriromani + \thepage + \else + \if@ldstyle + \expandafter\oldstylenums\expandafter{\thepage}% + \else + \thepage + \fi + \fi + } +% \end{macrocode} +% But we actually have to redefine the page style for the new headings because the +% \texttt{classica} option changes completely the left and the right headers depending on +% the option \texttt{autoretitolo}; in this case the left header contains the candidate's +% name a a short version of the thesis title, while the right heading contains the chapter +% (short) title; if this option is not in force, headings appear as usual. The redefinition +% of the \texttt{headings} page style is made only if this option is in force. In case of +% two side printing where the left head and the right head are different, the left heading +% contains the author name and the short title name; if there are other authors the first +% author name is printed followed by ``et al.''; if the over all header string exceeds the +% text width, a message is printed so as to induce the user to make use of the optional +% |\titolo| argument, the one that is supposed to contain the short title. In the right +% heading there is the chapter title; again if the header turns out to bee too wide, a +% message is issued to the user. +% +% More complicated things are done when typesetting on one side; in facts the author name +% (possibly followed by ``et al.'') and the short thesis title are typeset on the left +% of the only header while the chapter title is typeset on the right; in the unlikely +% situation where these two elements separated by at least 2em of white space do not exceed +% the text width, they are printed, but if they do, as it is likely to happen, then my +% suggestion would be not to use the \texttt{autoretitolo} option, but if the user +% absolutely wants this layout, then the author's name, possibly followed by ``et al.'', and +% the short thesis title are set in a vertical box; the same happens for the chapter title +% in another box; these texts are set with ragged margins on the center, and finally these +% boxes are set one next to the other with an intermediate glob of infinitely stretchable +% glue, and finally set in the header box with a rule underneath the two of them. The result +% might be barely acceptable if both vertical boxes do not exceed two lines and no words +% have to be hyphenated, but in general I believe it is an ugly layout; the user is warned! +% \begin{macrocode} +\if@utoretitolo + \if@twoside +% + \renewcommand*{\ps@headings}{\let\@mkboth\markboth% + \def\@oddfoot{\null \hfill \textbf{\lapagina} \hfill \null}% + \let\@evenfoot\@oddfoot +% + \def\@evenhead{% + \setbox\@intesta\hbox{\latintext + \footnotesize\strut\textsc{% + \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle}% + }% + \ifdim\wd\@intesta>\textwidth\headwrn{\titolo}\fi + \underline{\makebox[\textwidth]{\box\@intesta}}}% + \def\@oddhead{\latintext + \setbox\@intesta\hbox{% + \footnotesize\strut\textsl{\rightmark}}% + \ifdim\wd\@intesta>\textwidth \headWarn{\section}\fi% + \underline{\makebox[\textwidth]{\box\@intesta}}}% + \def\chaptermark##1{\markright{\thechapter\ -- ##1}{}}% + \def\sectionmark##1{}}% + \else + \renewcommand*{\ps@headings}{\let\@mkboth\markboth + \def\@oddfoot{\null \hfill \textbf{\lapagina}\hfill \null}% + \let\@evenfoot\empty\let\@evenhead\empty + \def\@oddhead{{\setbox\z@\hbox{\latintext\footnotesize + \textsc{% + \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle}}% + \setbox\tw@\hbox{\latintext\footnotesize\textsl{\rightmark}}% + \dimen@=2em\advance\dimen@\wd\z@\advance\dimen@\wd\tw@ + \ifdim\dimen@<\textwidth \relax + \else + \setbox\z@\vbox{\hsize.48\textwidth\parindent\z@\raggedright + \latintext\footnotesize\textsc{% + \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle + }}% + \setbox\tw@\vbox{\hsize.48\textwidth\parindent\z@\raggedleft + \latintext\footnotesize\textsl{\rightmark}}% + \fi + \setbox\@intesta\vbox to\z@{% + \vss\hbox to\textwidth{\strut\box\z@\hfill\box\tw@}}% + \underline{\box\@intesta}}}% + \def\chaptermark##1{\markright{\thechapter\ -- ##1}}} + \fi +\fi +% \end{macrocode} +% Here |\annoaccademico| is defined that typesets the infix string corresponding to +% ``Anno accademico'' followed by the year range in old style numbers (irrespective +% of the \texttt{oldstyle} option); Commands for the localization are provided so as +% to set a different string, possibly through the configuration file. In order to set +% an adequate en-dash between the old style numbers a new definition is given that +% takes care to set the dash at a height above the base line that copes the specific +% shape of the old style numbers. +% \begin{macrocode} +\newcommand*\NomeAnnoAccademico[1]{\gdef\AnnoAccademico{#1}} +\@ifundefined{AnnoAccademico}{\gdef\AnnoAccademico{Anno accademico}}{} +% +\def\annoaccademico#1{\ifclassica + \def\@submitdate{{\large\textsc{\AnnoAccademico}} {\Large\s@tanno#1!}} + \else + \PackageWarning{toptesi}{\string\annoaccademico\space is usable only + when the\MessageBreak + `classica' option is in force}% + \def\@submitdate{\AnnoAccademico\ #1 --- Needs `classica' option} + \fi} +\def\s@tanno#1-#2!{\oldstylenums{#1\EnDash#2}} + +\def\EnDash{{\settowidth{\dimen@}{\large\sc I}% +\setbox\tw@\hbox{2}\dimen\tw@.5\ht\tw@\advance\dimen\tw@-.5\dp\tw@ +\dimen4\dimen\tw@\advance\dimen4by.0385ex\relax +\advance\dimen\tw@-.0385ex\relax +\makebox[1.5\dimen@]{% + \vrule\@width\dimen@\@height\dimen4\@depth-\dimen\tw@}}} +% \end{macrocode} +% The footnote rule separator is also longer that the default one. Dealing with notes +% the footnote separator is also changes as well as the footnote skip. But the humanists +% like to have also unnumbered notes within numbered ones, as if they were two separate +% sets; of course specialized extensions are available on CTAN, but as a poor man solution +% the command |\nota| was introduced that inserts a note with a symbol as a note mark; +% the symbol \emph{must} be a mathematica symbol as the dagger or the double dagger; +% by default it is the asterisk. At the same time the default definition of the mathematical +% asterisk is that of a binary operator; I have experienced that the note symbol gets a +% better positioning if if is declared an ordinary symbol, treated as, say, a letter. This +% is why its math code is redefined. A final unusual request was to be able to put a blank +% unnumbered note, as a (rather wide) note separator. The command |\NoteWhiteLine| has to +% be used at the end of the text of the preceding note. +% \begin{macrocode} +\renewcommand\footnoterule{% + \kern-6\p@ + \hrule\@width.4\columnwidth + \kern5.6\p@} +\setlength\footnotesep{12\p@} +\setlength{\skip\footins}{24\p@ \@plus 4\p@ \@minus 2\p@} +\DeclareMathSymbol{*}{\mathalpha}{symbols}{"03} +\newcommand*\nota[1][*]{% + \xdef\@thefnmark{\ensuremath{\m@th#1}}\@footnotemark\@footnotetext +} +\newcommand*{\NoteWhiteLine}{\par\vspace*{-.3\baselineskip}} +% \end{macrocode} +% +% The humanists asked me to create some other simple macros: one for skipping a whole page, +% without header and footer; another to compose a dedication page; a third one for +% typesetting a page with one or more witty sentences. The first request has a trivial +% solution, but at least |\paginavuota| is much shorter to type in that its expansion. +% +% The environments \texttt{dedica} for the dedication, and \texttt{citazioni} for the witty +% sentences are almost identical; both typeset their content with a reduced text width, half +% of the normal one; this column is typeset on the right of the page. The \texttt{dedica} +% environment is supposed to be used in the front matter, while the witty sentence +% environment may be used anywhere. The dedication is typeset in |\Large| font size and in +% italics; if the author wants a different size and/or a different shape s/he must specify +% it at the beginning of the dedication. The \texttt{citazioni} environment typesets its +% material with the default font shape series and size, so the author has to specify any +% change s/he desires. These three commands, though, are available irrespective of the +% \texttt{classica} option, so that they can be used also for theses outside the humanities +% fields. +% +% \begin{macrocode} +\newcommand*\paginavuota{\clearpage\thispagestyle{empty}\null\clearpage} +% +\newenvironment{dedica}{\clearpage + \if@twoside + \ifodd\c@page\else\thispagestyle{empty}\null\clearpage\fi + \fi + \thispagestyle{empty}% + \list{}{\labelwidth\z@ + \leftmargin.5\textwidth + \parindent\z@ + \raggedright\LARGE\itshape}\item[] +}{% + \endlist\clearpage +} +% +\newenvironment{citazioni}{% + \clearpage\thispagestyle{empty} + \list{}{\labelwidth\z@ + \leftmargin.5\textwidth + \parindent\z@ + \raggedright}\item[] +}{% + \endlist\clearpage +} +% \end{macrocode} +% +% \subsection{PDF/A patches and configuration} % Last but not least, here come the specifications for the PDF/A-1b format. First of % all the patches to the macros |\not| and |\mapstochar| that produce problems with % the format, because they have a declared width of 0\,pt; this is no problem for @@ -2361,247 +2610,6 @@ Skipping any redefinition\MessageBreak}% \advance\labelwidth-\labelsep} %</top14> % \end{macrocode} -% \subsection{The package file \texttt{trieste.sty} for the \texttt{classica} option} -% As mentioned above, the \texttt{classica} option was devised in order to cope with theses -% in humanities and the specifications came from Paolo Ciacchi, a student of the University -% of Trieste, who was preparing a master thesis in classical Greek philology. The necessity of -% the large normal size derived from the necessity of having clear mark-up signs among the -% myriad philologists use, that sometimes let me believe that the philological mark-up requires -% typesetting environments similar to the mathematical ones, since the material to be typeset -% does not form a linear sequence, as in plain text, but a bi-dimensional structure as in mathematics. -% In previous version this file was input with the option \texttt{trieste}, but another option \texttt{classica} -% was defined so as not to tie these facilities only to the University of Trieste. -% -% The other requirements involve the title page and I agreed to implement them, since they are -% likely to be useful for other universities as well; the effort for localizing this bundle -% makes this point less stringent compared to the previous versions, but there are other layout fine points that -% cannot be solved with a simple substitution of infix strings. -% -% In order to have the whole bundle be aware of the option classica a specific control sequence -% is defined so as to be unique to this file. This definition is not ``undefined'' only if this file -% has already been input. -% \begin{macrocode} -%<*toptrst> -\NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{trieste}% - [2008/12/15 v.5.00 specific options for classical thesis typesetting] -\def\StileTrieste{classica} -% \end{macrocode} -% -% For the options specific to this package a couple of boolean variables are defined and the option -% definitions set them to the value ``true''. -% \begin{macrocode} -\newif\if@utoretitolo \@utoretitolofalse -\newif\if@ldstyle \@ldstylefalse -\DeclareOption{autoretitolo}{\@utoretitolotrue} -\DeclareOption{oldstyle}{\@ldstyletrue} -\ProcessOptions -% \end{macrocode} -% The singular and plural masculine and feminine strings for ``candidate'' are redefined. For other languages -% the configuration file comes in handy. -% \begin{macrocode} -\def\Candidato{Laureando} -\def\Candidata{Laureanda} -\def\Candidati{Laureandi} -\def\Candidate{Laureande} -% \end{macrocode} -% -% Since theses in humanities may end up to occupy several volumes (classically ``tomo'' -% in Italian means ``volume'', although the latter spelling is valid also in Italian with the same meaning -% but appears to be neglected by the humanists; in English ``tome'' indicates a ``large book''; in Italian the -% meaning nuance of ``tomo'' is a little different because it is used to indicate the volumes -% into which a large typeset work is divided; the humanists, as usual, know well their words and use them properly!) -% a mechanism is set up to create a different title page for each volume; we need a volume counter -% and a command to start each volume; the |\frontespizio| macro typesets the real title page and we have -% already seen that it can print the volume ordinal. The localization allows to change the infix string that -% is going to be printed. When several tomes are involved, instead of using the |\frontespizio| macro, -% use the |\tomo| one, that provides to stepping up the volume counter before actually printing the new tome -% title page. -% \begin{macrocode} -\newcounter{tomo} -\newcommand*{\tomo}{\clearpage\stepcounter{tomo}\frontespizio} -% \end{macrocode} -% Folios as well are to be redefined and also the page styles require a redefinition so as to being -% able to use old style numbers. The macro |\lapagina| (it's not a case the this macro name is the -% direct translation of ``the page'') contains the folio number; if it is in roman numerals nothing -% happens, but if the old style numbers are required the folio is surrounded by the proper macros -% so as to expand the folio macro before typesetting it in old style. The page style does not need -% an actual redefinition, because the original definition in file \texttt{toptesi.sty} already uses -% |\lapagina| as the typeset folio indicator. -% \begin{macrocode} -\renewcommand*{\lapagina}{% - \ifnumeriromani - \thepage - \else - \if@ldstyle - \expandafter\oldstylenums\expandafter{\thepage}% - \else - \thepage - \fi - \fi - } -% \end{macrocode} -% But we actually have to redefine the page style for the new headings because the \texttt{classica} -% options changes completely the left and the right headers depending on the option \texttt{autoretitolo}; -% in this case the left header contains the candidate's name a a short version of the thesis title, -% while the right heading contains the chapter (short) title; if this option is not in force, headings -% appear as usual. The redefinition of the \texttt{headings} page style is made only if this option -% is in force. In case of two side printing where the left head and the right head are different, -% the left heading contains the author name and the short title name; if there are other authors the -% first author name is printed followed by ``et al.''; if the over all header string exceeds the text -% width, a message is printed so as to induce the user to make use of the optional |\titolo| argument, -% the one that is supposed to contain the short title. In the right heading there is the chapter title; -% again if the header turns out to bee too wide, a message is issued to the user. -% -% More complicated things are done when typesetting on one side; in facts the author name -% (possibly followed by ``et al.'') and the short thesis title are typeset on the left -% of the only header while the chapter title is typeset on the right; in the unlikely -% situation where these two elements separated by at least 2em of white space do not exceed -% the text width, they are printed, but if they do, as it is likely to happen, then my suggestion -% would be not to use the \texttt{autoretitolo} option, but if the user absolutely wants this -% layout, then the author's name, possibly followed by ``et al.'', and the short thesis title -% are set in a vertical box; the same happens for the chapter title in another box; these -% texts are set withe ragged margins on the center, and finally these boxes are set one next -% to the other with an intermediate glob of infinitely stretchable glue, and finally set -% in the header box with a rule underneath the two of them. The result might be barely acceptable -% if both vertical boxes do not exceed two lines and no words have to be hyphenated, but in -% general I believe it is an ugly layout; the user is warned! -% \begin{macrocode} -\if@utoretitolo - \if@twoside -% - \renewcommand*{\ps@headings}{\let\@mkboth\markboth% - \def\@oddfoot{\null \hfill \textbf{\lapagina} \hfill \null}% - \let\@evenfoot\@oddfoot -% - \def\@evenhead{% - \setbox\@intesta\hbox{\latintext - \footnotesize\strut\textsc{% - \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle}% - }% - \ifdim\wd\@intesta>\textwidth\headwrn{\titolo}\fi - \underline{\makebox[\textwidth]{\box\@intesta}}}% - \def\@oddhead{\latintext - \setbox\@intesta\hbox{% - \footnotesize\strut\textsl{\rightmark}}% - \ifdim\wd\@intesta>\textwidth \headWarn{\section}\fi% - \underline{\makebox[\textwidth]{\box\@intesta}}}% - \def\chaptermark##1{\markright{\thechapter\ -- ##1}{}}% - \def\sectionmark##1{}}% - \else - \renewcommand*{\ps@headings}{\let\@mkboth\markboth - \def\@oddfoot{\null \hfill \textbf{\lapagina}\hfill \null}% - \let\@evenfoot\empty\let\@evenhead\empty - \def\@oddhead{{\setbox\z@\hbox{\latintext\footnotesize - \textsc{% - \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle}}% - \setbox\tw@\hbox{\latintext\footnotesize\textsl{\rightmark}}% - \dimen@=2em\advance\dimen@\wd\z@\advance\dimen@\wd\tw@ - \ifdim\dimen@<\textwidth \relax - \else - \setbox\z@\vbox{\hsize.48\textwidth\parindent\z@\raggedright - \latintext\footnotesize\textsc{% - \@author\ifx\@secondauthor\empty\else\ et al.\fi: \@stitle - }}% - \setbox\tw@\vbox{\hsize.48\textwidth\parindent\z@\raggedleft - \latintext\footnotesize\textsl{\rightmark}}% - \fi - \setbox\@intesta\vbox to\z@{% - \vss\hbox to\textwidth{\strut\box\z@\hfill\box\tw@}}% - \underline{\box\@intesta}}}% - \def\chaptermark##1{\markright{\thechapter\ -- ##1}}} - \fi -\fi -% \end{macrocode} -% Here |\annoaccademico| is defined that typesets the infix string corresponding to -% ``Anno accademico'' followed by the year range in old style numbers (irrespective -% of the \texttt{oldstyle} option); Commands for the localization are provided so as -% to set a different string, possibly through the configuration file. In order to set -% an adequate en-dash between the old style numbers a new definition is given that -% takes care to set the dash at a height above the base line that copes the specific -% shape of the old style numbers. -% \begin{macrocode} -\newcommand*\NomeAnnoAccademico[1]{\gdef\AnnoAccademico{#1}} -\@ifundefined{AnnoAccademico}{\gdef\AnnoAccademico{Anno accademico}}{} -% -\def\annoaccademico#1{% - \def\@submitdate{{\large\textsc{\AnnoAccademico}} {\Large\s@tanno#1!}}} -\def\s@tanno#1-#2!{\oldstylenums{#1\EnDash#2}} - -\def\EnDash{{\settowidth{\dimen@}{\large\sc I}% -\setbox\tw@\hbox{2}\dimen\tw@.5\ht\tw@\advance\dimen\tw@-.5\dp\tw@ -\dimen4\dimen\tw@\advance\dimen4by.0385ex\relax -\advance\dimen\tw@-.0385ex\relax -\makebox[1.5\dimen@]{% - \vrule\@width\dimen@\@height\dimen4\@depth-\dimen\tw@}}} -% \end{macrocode} -% The footnote rule separator is also longer that the default one. Dealing with notes -% the footnote separator is also changes as well as the footnote skip. But the humanists -% like to have also unnumbered notes within numbered ones, as if they were two separate -% sets; of course specialized extensions are available on CTAN, but as a poor man solution -% the command |\nota| was introduced that inserts a note with a symbol as a note mark; -% the symbol \emph{must} be a mathematica symbol as the dagger or the double dagger; -% by default it is the asterisk. At the same time the default definition of the mathematical -% asterisk is that of a binary operator; I have experienced that the note symbol gets a -% better positioning if if is declared an ordinary symbol, treated as, say, a letter. This -% is why its math code is redefined. A final unusual request was to be able to put a blank -% unnumbered note, as a (rather wide) note separator. The command |\NoteWhiteLine| has to -% be used at the end of the text of the preceding note. -% \begin{macrocode} -\renewcommand\footnoterule{% - \kern-6\p@ - \hrule\@width.4\columnwidth - \kern5.6\p@} -\setlength\footnotesep{12\p@} -\setlength{\skip\footins}{24\p@ \@plus 4\p@ \@minus 2\p@} -\DeclareMathSymbol{*}{\mathalpha}{symbols}{"03} -\newcommand*\nota[1][*]{% - \xdef\@thefnmark{\ensuremath{\m@th#1}}\@footnotemark\@footnotetext -} -\newcommand*{\NoteWhiteLine}{\par\vspace*{-.3\baselineskip}} -% \end{macrocode} -% -% The humanists asked me to create some other simple macros: one for skipping a whole page, -% without header and footer; another to compose a dedication page; a third one for typesetting -% a page with one or more witty sentences. The first request has a trivial solution, but at -% least |\paginavuota| is much shorter to type in that its expansion. -% -% The environments \texttt{dedica} for the dedication, and \texttt{citazioni} for the witty -% sentences are almost identical; both typeset their content with a reduced text width, half -% of the normal one; this column is typeset on the right of the page. The \texttt{dedica} -% environment is supposed to be used in the front matter, while the witty sentence environment -% may be used anywhere. The dedication is typeset in |\Large| font size and in italics; if the -% author wants a different size and/or a different shape s/he must specify it at the beginning -% of the dedication. The \texttt{citazioni} environment typesets its material with the default -% font shape series and size, so the author has to specify any change s/he desires. -% -% \begin{macrocode} -\newcommand*\paginavuota{\clearpage\thispagestyle{empty}\null\clearpage} -% -\newenvironment{dedica}{\clearpage - \if@twoside - \ifodd\c@page\else\thispagestyle{empty}\clearpage\fi - \fi - \thispagestyle{empty}% - \list{}{\labelwidth\z@ - \leftmargin.5\textwidth - \parindent\z@ - \raggedright\LARGE\itshape}\item[] -}{% - \endlist\clearpage -} -% -\newenvironment{citazioni}{% - \clearpage\thispagestyle{empty} - \list{}{\labelwidth\z@ - \leftmargin.5\textwidth - \parindent\z@ - \raggedright}\item[] -}{% - \endlist\clearpage -} -%</toptrst> -% \end{macrocode} % \Finale % \endinput % |