From 1502159a0ea1bde12aee24add557f14386539361 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Mon, 29 Dec 2014 23:22:14 +0000 Subject: toptesi (28dec14) git-svn-id: svn://tug.org/texlive/trunk@35916 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/latex/toptesi/toptesi.pdf | Bin 383175 -> 385776 bytes Master/texmf-dist/source/latex/toptesi/toptesi.dtx | 247 ++++++++++++--------- Master/texmf-dist/tex/latex/toptesi/topcoman.sty | 8 +- Master/texmf-dist/tex/latex/toptesi/topfront.sty | 37 ++- Master/texmf-dist/tex/latex/toptesi/toptesi.cfg | 18 +- Master/texmf-dist/tex/latex/toptesi/toptesi.cls | 2 +- Master/texmf-dist/tex/latex/toptesi/toptesi.sty | 2 +- Master/tlpkg/libexec/ctan2tds | 11 +- 8 files changed, 196 insertions(+), 129 deletions(-) (limited to 'Master') diff --git a/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf b/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf index ff66087d2c6..bee34e99550 100644 Binary files a/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf and b/Master/texmf-dist/doc/latex/toptesi/toptesi.pdf differ diff --git a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx index 2d3f86ff616..b617955cabd 100644 --- a/Master/texmf-dist/source/latex/toptesi/toptesi.dtx +++ b/Master/texmf-dist/source/latex/toptesi/toptesi.dtx @@ -68,7 +68,7 @@ its source file is another example of how to use toptesi. \endgroup % % -% Copyright 1989--2013 Claudio Beccari +% Copyright 1989--2014 Claudio Beccari % % This file is part of the TOPtesi bundle % ------------------------------------------- @@ -95,7 +95,7 @@ its source file is another example of how to use toptesi. % \iffalse %<*driver> \documentclass{ltxdoc} -\ProvidesFile{toptesi.dtx}[2014/11/13 v.5.85b Documented TeX file for +\ProvidesFile{toptesi.dtx}[2014/12/13 v.5.86f Documented TeX file for the TOPtesi bundle] \GetFileInfo{toptesi.dtx} \title{The TOPtesi bundle} @@ -116,7 +116,7 @@ the TOPtesi bundle] % % \fi % -% \CheckSum{2771} +% \CheckSum{2792} % %% \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 @@ -149,7 +149,7 @@ the TOPtesi bundle] % experimentally compliant with the \XeLaTeX\ and the \LuaLaTeX\ programs. Up to now % the few conflicts that have been spotted have been solved with suitable corrections % or additions. The most important feature with \XeLaTeX\ is that the option pdfa -% cannot be used any more, because it resorts to a compilation with pdf\LaTeX; +% cannot be used any more; this id due to the fact that % the typesetting engine \XeTeX\ does not produce directly any PDF output but % a modified, extended DVI output, that is immediately converted into a PDF file % through xdvipdfmx, a special version of the conversion program. Another minor @@ -172,24 +172,27 @@ the TOPtesi bundle] % \item An extension package \texttt{toptesi.sty} that contains most of the code % for the real typesetting; it might be used as an extension to the report class file, % although this use is discouraged. -% \item A second extension package \texttt{topfront.sty} that contain the commands -% and the typesetting macros for the title page; this file may be used as an -% independent extension package to be added to, say, the report class file for -% typesetting just the title page; this file might be used as a template for setting -% up the title page fixed information in languages different from Italian. -% This package is part of the bundle, but it is loaded automatically only if -% the user did not specify the class option |noTOPfront| or its alias -% |usefrontespizio|; if this option -% is specified the user is free to use whatever other external package s/he -% prefers in order to typeset the tile page; in this case we suggest to use -% the package |frontespizio| and we address the user to its documentation. -% \item A third extension package \texttt{topcoman.sty} that defines a certain number -% of user commands suitable for typesetting technical matters. -% \item Previous versions of this bundle contained also the logos of a certain number of -% universities; these logos are not distributed anymore because of legal constraints. -% Every one who is working on his/her degree course final report must retrieve the -% logo of his/her university, but s/he should pay attention to use it according -% to the rules and limitations of the university. +% \item A second extension package \texttt{topfront.sty} that contains the +% commands and the typesetting macros for the title page; this file may be +% used as an independent extension package to be added to, say, the report +% class file for typesetting just the title page; this file might be used as +% a template for setting up the title page fixed information in languages +% different from Italian. This package is part of the bundle, but it is +% automatically loaded only if the user did not specify the class option +% |noTOPfront| or its alias |usefrontespizio|; if this option is specified +% the user is free to use whatever other external package s/he prefers in +% order to typeset the tile page; in this case we suggest to use the package +% |frontespizio| and we address the user to its documentation. It is important +% to recall that if the |topfront| package has to be loaded, is is only at +% the execution of the |\begin{document}| command. There fore no title page +% commands of any kind (those defined by |topfront| can be used in the preamble. +% \item A third extension package \texttt{topcoman.sty} that defines a certain +% number of user commands suitable for typesetting technical matters. +% \item Previous versions of this bundle contained also the logos of a set of +% universities; these logos are not distributed anymore because of legal +% constraints. Every one who is working on his/her degree course final report +% must retrieve the logo of his/her university, but s/he should pay attention +% to use it according to the rules and limitations of the university. % \item A documentation file \texttt{toptesi-it-xetex.pdf} written in Italian % where every feature is explained in detail; essential information is given % in this English documentation. The source file of the documentation @@ -365,8 +368,8 @@ the TOPtesi bundle] %^^A % \Item[frontespizio] Even if the above environments are recommended, the % command |\frontespizio|, defined in the previous versions of the TOPtesi -% bundle, is still usable. It typesets the title page according to the actua -%l status of the boolean |\topTPTlogos|; the user, before issuing the +% bundle, is still usable. It typesets the title page according to the actual +% status of the boolean |\topTPTlogos|; the user, before issuing the % |\frontespizio| command, may set this boolean by means of the |\topTPTlogostrue| % or |\topTPTlogosfalse|, or with either one of the commands % |\booltrue{topTPTlogos}| and |\boolfalse{topTPTlogos|. @@ -792,7 +795,7 @@ the TOPtesi bundle] % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{toptesi}% -[2014/11/13 v.5.85b Class for typesetting university theses] +[2014/12/13 v.5.86f Class for typesetting university theses] % \end{macrocode} % % The class itself is very simple since it requires just the \texttt{report} document @@ -849,7 +852,7 @@ the TOPtesi bundle] % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{toptesi}% -[2014/11/13 v.5.85b Extension for toptesi.cls]% +[2014/12/13 v.5.86f Extension for toptesi.cls]% % \end{macrocode} % % We start with defining the debugging macros; these trace commands and macros @@ -1559,11 +1562,13 @@ Skipping any redefinition\MessageBreak}% % \texttt{topfront} are requested for input; the former is loaded only when % the |documentclass| option |noTOPfront| has NOT been declared. % For using XeLaTeX as the typesetting engine it's necessary to load such -% packages at the ``begin document'' step, so that all a the other settings, +% packages at the ``begin document'' step, so that all the other settings, % especially fonts, are already established. Even if the past experience % has shown that loading these packages does not need to be deferred al the % ``begin document'' level with pdf\/\LaTeX, it does not hurt to delay their -% loading operation with both engines. +% loading operation with both engines. This delayed loading implies that the +% commands defined in |topfront| and in |topcomand| cannot be used in the +% preamble. % \begin{macrocode} \AtBeginDocument{% \unless\ifT@Pfrontespizio @@ -1916,7 +1921,7 @@ Skipping any redefinition\MessageBreak}% % \fi % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{topfront}[2014/11/13 v.5.85b Title page for TOPtesi and other classes] +\ProvidesPackage{topfront}[2014/12/13 v.5.86f Title page for TOPtesi and other classes] % \end{macrocode} % In oder to use |topfront| as a stand-alone extension package with other % classes it is necessary to verify if the |classica| option corresponds @@ -1961,7 +1966,7 @@ Skipping any redefinition\MessageBreak}% \raisebox{3\baselineskip}{\usebox\TPT@logobox}\hfil\null% }\fi \ifcsvoid{@ateneo}{}{\vskip\smallskipamount - \hbox to\textwidth{\hss\LARGE\@ateneo\hss}} + \hbox to\textwidth{\hss\LARGE\MakeUppercase{\@ateneo}\hss}} \vss }% }% @@ -1976,7 +1981,7 @@ Skipping any redefinition\MessageBreak}% % \begin{macrocode} \def\ps@classica{\let\@mkboth\markboth \def\@oddhead{\vbox{% - \hbox to \hsize{\hfill {\LARGE \@ateneo}\hfill}% + \hbox to \hsize{\hfill {\LARGE\MakeUppercase{\@ateneo}}\hfill}% \ifclassica \hbox to \hsize{\hfil\vrule\@width\z@ \@height2ex\vrule\@height1.4\p@\@depth-\p@\@width50mm\hfil}% @@ -2282,7 +2287,7 @@ Skipping any redefinition\MessageBreak}% \gdef\@corso{#1}} \def\scuoladidottorato#1{\global\dottoratotrue\global\laureatriennalefalse \gdef\@phdschool{#1}} -\def\ateneo#1{\gdef\@ateneo{\expandafter\uppercase{\expandafter #1}}} +\def\ateneo#1{\gdef\@ateneo{#1}} \def\nomeateneo#1{\gdef\@nomeat{\expandafter\uppercase{\expandafter #1}}} \newcommand\facolta[2][]{\gdef\@facname{#2}\gdef\@facnumber{#1}} \let\struttura\facolta @@ -2380,7 +2385,7 @@ Skipping any redefinition\MessageBreak}% % used in a language depended way and with the correct number and gender once for all. % The four endings in the Italian strings allow to exercise the correct selection only % for Italian; a specific test is made inside the |\frontespizio| command; because of -% this the same machinery cannot be used, say, for French but may be in the future this +% this, the same machinery cannot be used, say, for French but maybe in the future this % feature is resolved in a proper way. The same is true for the supervisor and the % co-supervisor strings that may be changed once for all with |\AdvisorName| and % |\CoAdvisorName|. @@ -2458,17 +2463,17 @@ Skipping any redefinition\MessageBreak}% % The principle on which these environments work is that the |frontespizio| % environment typesets the title page with logo(s) set in the page header, % while the |frontspizio*| environment typesets the logos after the information -% on the title, possible sub titel and passible tome information., that is +% on the title, the possible sub title and tome information, that is % in the lower half of the title page. In order to achieve this result each -% environment sets the boolean variable |topTPTlogos| to eiter value |true| -% (for header logos) and |false| otherwise. The key of the different typesetting +% environment sets the boolean variable |topTPTlogos| to either value |true| +% (for header logos) or |false| otherwise. The key of the different typesetting % style is this boolean-variable state. % % Now, since the internal |frontespizio| environment opening command is % |\frontespizio| how is it possible to distinguish this opening statement % from the homonymous user command? The solution is a little tricky, but after % all very simple. the |\begin| command, with which an environment is started, -% before calling the opening statement defines the internal serve macro +% before calling the opening statement defines the internal service macro % |\@currenvir| to contain the environment name; this is used by the % |\end| statement to control that it is closing the last opened environment. % If the |\frontespizio| command is directly used, the |\@currenvir| macro @@ -2489,39 +2494,55 @@ Skipping any redefinition\MessageBreak}% \newenvironment{frontespizio}{% \ifdefstring{\@currenvir}{frontespizio} - {\booltrue{topTPTlogos}}{\fr@ntespizio} + {\booltrue{topTPTlogos}}{\TPTmaybestar} }{% \fr@ntespizio } % \end{macrocode} % -% With the new bolean |AteneoInHead| we can mark these situations where the -% university common name goes int to header; With the |classica| option the +% With the new boolean |AteneoInHead| we can mark these situations where the +% university common name goes into header; with the |classica| option the % title page \emph{must} have this name in the header and if the user forgets % to specify one, this module fakes it with a clear message that the university % name has been forgotten, but at the same time this fake message fills up the -% header position. On the other hand, when the |classica| option has no been +% header position. On the other hand, when the |classica| option has not been % specified, the user can use either an empty university name or a specific % name. So only when the |\@ateneo| macro remains empty the university name % in the header remains really blank; this is good when the university name % is part of the university logo (this is the case for Politecnico di Torino, -% and for many other universities). Whne no universty name is set in the header -% some little attentions in formatting the title page are necessary. +% and for many other universities). When no university name is set in the header +% some little attention in formatting the title page is necessary. % % \begin{macrocode} \newbool{AteneoInHead}\boolfalse{AteneoInHead} +% \end{macrocode} +% +% In order to use the command |\frontespizio*| as en isolated command instead +% of the starting command of the |frontespizio*| environment, we have to behave +% as with the |\frontespizio| command, but we must test for a possible asterisk +% following the command; for this reason we defined the |\TPTmaybestar| that +% absorbs une following token: if the token is an asterisk, we set the appropriate +% settings for the previous behaviour of the isolated command, but if it is +% not an asterisk we must set it back into the list after finishing the execution +% of the |\fr@ntespizio| service macro, whose function is to set the title page +% information at the proper position, but must not contain any spurious material. +% \begin{macrocode} +\newcommand\TPTmaybestar[1]{\def\@tempA{#1}% +\ifdefstring{\@tempA}{*}% + {\boolfalse{topTPTlogos}\booltrue{AteneoInHead}\fr@ntespizio} + {\booltrue{topTPTlogos}\fr@ntespizio\@tempA} +} +% \end{macrocode} +% +% We start defining the complex macro |\fr@ntespizio|. We start with a group +% so that any settings performed by this command remain local; if the title page +% environments had been used this group would be useless, but if the isolated +% commands are used, then this group protects the rest of the document from +% unusual local settings valid only for the title page. +% \begin{macrocode} \def\fr@ntespizio{% -\begingroup -\ifclassica - \boolfalse{topTPTlogos} - \thispagestyle{classica} - \ifcsvoid{@ateneo}{\def\@ateneo{Manca il nome dell'ateneo} - }{} -\else - \thispagestyle{titlepage} -\fi -\ifcsvoid{@ateneo}{}{\booltrue{AteneoInHead}} +\begingroup\par % \end{macrocode} % % We want also the title page to be set in the middle of the page irrespective of @@ -2531,15 +2552,31 @@ Skipping any redefinition\MessageBreak}% \oddsidemargin=\dimexpr(\oddsidemargin+\evensidemargin)/2\relax \evensidemargin \oddsidemargin % \end{macrocode} -% % The |\null| command inserts a void horizontal box into the vertical list; % it is useful to act as a block against which the vertical glue pushes for % setting the subsequent material. The normal font is chosen in case preceding % commands did change the font characteristics. % \begin{macrocode} - \null\setcounter{page}{1}% - \normalfont +\null +\setcounter{page}{1}% +\normalfont % \end{macrocode} +% Depending on the style of the title page a different |\pagestyle| is set with +% appropriate switches and settings. If with the classica style a university +% name is blank, it is set to an explicit string that the setting of the +% university name has been forgotten. +% \begin{macrocode} +\ifclassica + \boolfalse{topTPTlogos} + \thispagestyle{classica} + \ifcsvoid{@ateneo}{\def\@ateneo{Manca il nome dell'ateneo} + }{} +\else + \thispagestyle{titlepage} +\fi +\ifcsvoid{@ateneo}{}{\booltrue{AteneoInHead}} +% \end{macrocode} +% % The generic university name should already be in the header either in the logo % or in the header text; but in spite of this we test if the university generic % name macro is void, if it contains something, then we typeset also the generic @@ -2551,6 +2588,13 @@ Skipping any redefinition\MessageBreak}% % so as to avoid repeating the university name possibly already present in the logo % itself. % \begin{macrocode} +\ifcsvoid{@ateneo}{% + \ifbool{topTPTlogos} + {}{\booltrue{AteneoInHead}\def\@ateneo{Manca il nome dell'ateneo}}% +}{% + \booltrue{AteneoInHead}% +} + \ifbool{AteneoInHead}{}{% {{\centering\LARGE \@ateneo\par}} } @@ -2610,7 +2654,7 @@ Skipping any redefinition\MessageBreak}% \@TesiDiLaurea% \fi \fi - \ifx\empty\@materia\else + \unless\ifx\empty\@materia \\\@InName\\\@materia \fi \end{center} @@ -2672,7 +2716,7 @@ Skipping any redefinition\MessageBreak}% % not do anything. % \begin{macrocode} \unless\iftopTPTlogos - {\centering \printloghi\par}\fi + {\vfill\centering \printloghi\par}\fi % \end{macrocode} % % The final task is to typeset the possible supervisors' names, the candidates' @@ -2768,7 +2812,7 @@ Skipping any redefinition\MessageBreak}% % \begin{macrocode} \else -% Per laurea e dottorato con relatori e correlatori... +% For theses of any kind that expect the supervisor and co-supervisor names... \def\BoxRelatori{% \begin{tabular}[t]{l}% \hbox{\ifclassica\else\large\fi @@ -2792,9 +2836,9 @@ Skipping any redefinition\MessageBreak}% \end{tabular}% }% % \end{macrocode} -% A similar approach is taken for the candidate name(s),although for code +% A similar approach is taken for the candidate name(s), although for code % clarity I prefer to define two secondary macros in order to format the -% other candidates names and ID in the clearer way. +% other candidates names and ID in a clearer way. % \begin{macrocode} \def\print@secondocandidato{\\\relax \hbox{\large\tabular{@{}l@{}}\@secondauthor\endtabular}} @@ -2816,7 +2860,7 @@ Skipping any redefinition\MessageBreak}% % already taken place. For the doctoral dissertation the doctoral candidate name % is typeset centred in one line by itself and everything else is set 3em below % into a three column table extended to the |\hsize|, the first line containing -% the personal labels and the second line containing the true names. The central +% the applicable labels and the second line containing the true names. The central % column is used just for spacing, but it does not contain anything. % \begin{macrocode} \ifdottorato @@ -2837,7 +2881,7 @@ Skipping any redefinition\MessageBreak}% \else % \end{macrocode} % For the master thesis the two virtual boxes are set one besides the other but -% skewed so that to the right or, respectively, to the left of every name there +% skewed to the right or, respectively, to the left of every name so that there % is enough space for the signature. With the \texttt{classica} option in force % the two boxes are simply aligned. % \begin{macrocode} @@ -2867,8 +2911,8 @@ Skipping any redefinition\MessageBreak}% % |\endgroup| closes the |\begingroup| that was set at the beginning of this long macro. % In order to handle the copyright page, we test if the internal definition of the % copyright page text is empty; in this case no copyright page should be output, and -% a |\creadoublepage| works fine in both one and two side printing; I the copyright page -% text is not empty, after the shipping out of the title page, we set the copyright page +% a |\creadoublepage| works fine in both one and two side printing; if the copyright page +% text is not empty, after shipping out the title page, we set the copyright page % text flush bottom with the text block, and then we ship out also this copyright page. % \begin{macrocode} \par\clearpage @@ -2883,7 +2927,10 @@ Skipping any redefinition\MessageBreak}% % \subsection{A sample configuration file} % The following code generates a sample configuration file that the user % can change at will; it can be used as a template for generating a really -% personal configuration file. +% personal configuration file. Remember: this template file is named +% |toptesi.cfg|, but in order to use it for a specific thesis, whose main +% file is named |JohnSmithMSthesis.tex|, the configuration file must be +% named |JohnSmithMSthesis.cfg|. % \iffalse %<*topcfg> % \fi @@ -2891,22 +2938,20 @@ Skipping any redefinition\MessageBreak}% %% %%================================================================ %% This file is the only file of the TOPtesi bundle that the user -%% can modify without restrictions in order to customize the +%% can modify without restrictions in order to customise the %% contents of this configuration file to his/her needs. The user %% can add or remove lines, comment or uncomment lines, change the %% arguments to the macros, add definitions and so on. -%% A better use of this file consists into copying it to another -%% file to be named as the thesis main file and with extension -%% .cfg; This bundle will try to read "\jobname.cfg"; if this file -%% does not exist, it looks for toptesi.cfg and if this further -%% does not exist, it does nothing. This means that the provided -%% file toptesi.cfg is to be used preferably as a model, not to -%% be used directly. +%% Use this file by copying it to another file to be named as the +%% thesis main file and with extension .cfg; This bundle will try +%% to read "\jobname.cfg"; if this file it does nothing. This means +%% that the provided file toptesi.cfg is to be used as a model, not +%% to% be used directly. %%================================================================ %% \ateneo{Politecnico di Torino} -\facolta{}% nessun nome di default -\FacoltaDi{}% non viene scritta nessuna indicazione per la facoltà +\facolta{}% nessun nome di default/ no default name +\FacoltaDi{}% nessun prefisso per la facoltà/no default faculty label %%\DottoratoIn{Corso di dottorato in } \CorsoDiLaureaIn{Corso di Laurea in } \TesiDiLaurea{Tesi di Laurea Magistrale} @@ -2930,14 +2975,14 @@ Skipping any redefinition\MessageBreak}% % \begin{macrocode} \NeedsTeXFormat{LaTeX2e} % lavora solo con LaTeX 2e \ProvidesPackage{topcoman}% - [2014/11/13 v.5.85b Additional commands for the TOPtesi bundle] + [2014/12/13 v.5.86f Additional commands for the TOPtesi bundle] % \end{macrocode} % The new command |\DeclareSlantedCapitalGreekLetters| optionally sets the capital % Greek letters in math mode with the glyphs taken from the math italic fonts, not from -% the math roman fonts, at is is by default; some persons prefer to use both symbols with -% different meanings, so this command lets them do so. This may be useful unless the XeTeX -% typesetting engine is used; in facts the Unicode math defines specific commands for setting -% any Latin or Greek mathematical letter in any possible font shape and series. +% the math roman fonts, as it is by default; some authors prefer to use both symbols +% with different meanings, so this command lets them do so. This may be useful unless +% the XeTeX typesetting engine is used; in facts the Unicode math defines specific +% commands for setting any Latin or Greek mathematical letter in any possible font shape and series. % \begin{macrocode} \RequirePackage{ifxetex} \ifxetex\else @@ -2955,30 +3000,31 @@ Skipping any redefinition\MessageBreak}% \mathchardef\Omega="710A }\fi % \end{macrocode} -% The |\ensuremath| command is defined in the \LaTeX\ kernel from a certain version on; -% should the user employ a really old \LaTeXe\ implementation this definition +% The |\ensuremath| command is defined in the \LaTeXe\ kernel from a certain version on; +% should the user employ a really old \LaTeXe\ implementation, this definition % supplies the missing one. Should the |babel| package not be loaded, then we provide the % useful command |\textormath| provided by |babel|. We define the text version of the -% subscript and ensure also that the |textcomp| package is loaded; of course it it's already -% loaded the |\RequirePackage| command performs the necessary tests and possibly does not load -% anything. +% subscript and ensure also that the |textcomp| package is loaded; of course if it is +% already loaded the |\RequirePackage| command performs the necessary tests and possibly +% does not load anything. % \begin{macrocode} \providecommand{\ensuremath}[1]{\ifmmode#1\else$#1$\fi}% \providecommand\textormath{} \renewcommand{\textormath}{\ifmmode\expandafter\@secondoftwo\else \expandafter\@firstoftwo\fi} \providecommand*\textsubscript{\raisebox{-0.5ex}} + \ifxetex\else \RequirePackage{textcomp} \fi % \end{macrocode} % The following commands may be already defined; should they be missing they are supplied -% here. The greatest part of them is already defined in the Italian option to the +% here. Most of them are already defined in the Italian option to the % \texttt{babel} language if the thesis is typeset with \textsf{pdflatex} that loads that -% package; these commands are not predefined if the thesis is typeset with \XeLaTeX\ that does -% not load the \texttt{babel} package; but remember; this package may be used as a stand alone -% one, without the initial call by the \texttt{toptesi} document class, so that the language -% Italian might be undefined. +% package; these commands are not predefined if the thesis is typeset with \XeLaTeX\ +% that does not load the \texttt{babel} package; but remember; this package may be used +% as a stand alone one, without the initial call by the \texttt{toptesi} document class, +% so that the language Italian might be undefined. % \begin{macrocode} \providecommand{\ohm}{\textormath{\textohm}{\mathrm{\Omega}}} \providecommand{\ped}[1]{\textormath{\textsubscript{#1}}{_{\mathrm{#1}}}} @@ -2991,42 +3037,43 @@ Skipping any redefinition\MessageBreak}% \providecommand{\gradi}{\textormath{\textdegree}{^\circ}} % \end{macrocode} % -% The next set of definitions are used to list a program file. There are better +% The next set of definitions are used to list a program file. There are finer % packages to perform this task in the CTAN archives. This set of macros has the % advantage that is very short and light on the computer memory; nevertheless it % performs its duty pretty well. The font face is the typewriter one; the font % size is chosen so as to allow approximately 80 characters in the text width of % the thesis. It respects the possible indentation tabs (ASCII code 9) by % inserting the correct amount of typewriter spaces so as to align every line to -% the correct boundary which is ``zero modulo eight''. If the program file +% the correct left margin which is an `integer multiple of 8' spaces. If the program file % contains some form feed ASCII characters (ASCII code 12), this \TeX\ code % inserts a new page command. The code may appear strange, and it does because % it makes heavy use of the dirty tricks of appendix~D of the \TeX\-book. -% for Wahat concern the macro |\obeyspaces| (already defined in the \LaTeXe\ +% For what concerns the macro |\obeyspaces| (already defined in the \LaTeXe\ % kernel) we had to change it in order to abolish a conflict with package |ABC| % used to typeset music. The latter package is about 15 years younger than % |topcoman|, so it should be this latter package duty to avoid conflicts with % pre existing packages; on the opposite we accepted the suggestion of Enrico -% Gregorio, the author of |ABC| whom we thank very much, because his package +% Gregorio, the author of |ABC|, whom we thank very much, because his package % is much more complicated than this one, so that the conflict is avoided % more easily by correcting |topcoman|. % \begin{macrocode} +\providecommand*{\programmafont}{\ttfamily\footnotesize} \def\listing#1{\par\begingroup \programma \input #1 \endgroup} \def\uncatcodespecials{\def\do##1{\catcode`##1=12}\dospecials} -\def\programma{\ttfamily\footnotesize \parindent 0pt +\def\programma{\programmafont \parindent 0pt \def\par{\leavevmode\egroup\box0\endgraf} \catcode`\`=\active \catcode`\^^I=\active \catcode`\^^L=\active \obeylines \uncatcodespecials \obeyspaces \begingroup\lccode`~=`\ \lowercase{\endgroup\global\let~}\ % \everypar{\startbox}} % \end{macrocode} -% The above code does the whole work, but the alignment to the tab stops and the -% new page command associated to the form feed ASCII character are done with the +% The above code does the whole work, except the alignment to the tab stops and the +% new page command associated to the form feed ASCII character that are done with the % following definitions. % \begin{macrocode} \newdimen\tabwidth -\setbox0=\hbox{\ttfamily\footnotesize\space} +\setbox0=\hbox{\programmafont\space} \tabwidth=8\wd0 \def\startbox{\setbox0=\hbox\bgroup} %{\obeyspaces\global\let =\space} @@ -3043,7 +3090,7 @@ Skipping any redefinition\MessageBreak}% % Remember that the comma as a decimal separator is required for all languages % except English. If you use this module outside TOPtesi, but as an extension % of other classes or modules, it's up to you to define an ``intelligent comma'' -% macro or to load either the |icomma.sty| or the |nccomma.sty| module that +% macro or to load either the |icomma.sty| or the |nccomma.sty| modules that % define such a macro: the |icomma| package defines the comma as a mathematical % active character that recognises the subsequent token as a space token so as % to insert a punctuation comma; |nccomma| behaves more or less as the macro diff --git a/Master/texmf-dist/tex/latex/toptesi/topcoman.sty b/Master/texmf-dist/tex/latex/toptesi/topcoman.sty index c30dd383dde..48cad0cf8e0 100644 --- a/Master/texmf-dist/tex/latex/toptesi/topcoman.sty +++ b/Master/texmf-dist/tex/latex/toptesi/topcoman.sty @@ -29,7 +29,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} % lavora solo con LaTeX 2e \ProvidesPackage{topcoman}% - [2014/11/13 v.5.85b Additional commands for the TOPtesi bundle] + [2014/12/13 v.5.86f Additional commands for the TOPtesi bundle] \RequirePackage{ifxetex} \ifxetex\else \newcommand*\DeclareSlantedCapitalGreekLetters{% @@ -50,6 +50,7 @@ \renewcommand{\textormath}{\ifmmode\expandafter\@secondoftwo\else \expandafter\@firstoftwo\fi} \providecommand*\textsubscript{\raisebox{-0.5ex}} + \ifxetex\else \RequirePackage{textcomp} \fi @@ -62,17 +63,18 @@ \providecommand{\micro}{\textormath{\textmu}{\ifxetex\mathup{\mu}\else \ifx\muup\undefined\mu\else\muup\fi\fi}} \providecommand{\gradi}{\textormath{\textdegree}{^\circ}} +\providecommand*{\programmafont}{\ttfamily\footnotesize} \def\listing#1{\par\begingroup \programma \input #1 \endgroup} \def\uncatcodespecials{\def\do##1{\catcode`##1=12}\dospecials} -\def\programma{\ttfamily\footnotesize \parindent 0pt +\def\programma{\programmafont \parindent 0pt \def\par{\leavevmode\egroup\box0\endgraf} \catcode`\`=\active \catcode`\^^I=\active \catcode`\^^L=\active \obeylines \uncatcodespecials \obeyspaces \begingroup\lccode`~=`\ \lowercase{\endgroup\global\let~}\ % \everypar{\startbox}} \newdimen\tabwidth -\setbox0=\hbox{\ttfamily\footnotesize\space} +\setbox0=\hbox{\programmafont\space} \tabwidth=8\wd0 \def\startbox{\setbox0=\hbox\bgroup} {\catcode`\`=\active \gdef`{\relax\lq}} diff --git a/Master/texmf-dist/tex/latex/toptesi/topfront.sty b/Master/texmf-dist/tex/latex/toptesi/topfront.sty index e85fe335068..7e67012a16f 100644 --- a/Master/texmf-dist/tex/latex/toptesi/topfront.sty +++ b/Master/texmf-dist/tex/latex/toptesi/topfront.sty @@ -28,7 +28,7 @@ %% Grave accent \` Left brace \{ Vertical bar \| %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{topfront}[2014/11/13 v.5.85b Title page for TOPtesi and other classes] +\ProvidesPackage{topfront}[2014/12/13 v.5.86f Title page for TOPtesi and other classes] \@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}} \ifcsundef{ifclassica}{% \newif\ifclassica @@ -46,7 +46,7 @@ \raisebox{3\baselineskip}{\usebox\TPT@logobox}\hfil\null% }\fi \ifcsvoid{@ateneo}{}{\vskip\smallskipamount - \hbox to\textwidth{\hss\LARGE\@ateneo\hss}} + \hbox to\textwidth{\hss\LARGE\MakeUppercase{\@ateneo}\hss}} \vss }% }% @@ -55,7 +55,7 @@ } \def\ps@classica{\let\@mkboth\markboth \def\@oddhead{\vbox{% - \hbox to \hsize{\hfill {\LARGE \@ateneo}\hfill}% + \hbox to \hsize{\hfill {\LARGE\MakeUppercase{\@ateneo}}\hfill}% \ifclassica \hbox to \hsize{\hfil\vrule\@width\z@ \@height2ex\vrule\@height1.4\p@\@depth-\p@\@width50mm\hfil}% @@ -145,7 +145,7 @@ \gdef\@corso{#1}} \def\scuoladidottorato#1{\global\dottoratotrue\global\laureatriennalefalse \gdef\@phdschool{#1}} -\def\ateneo#1{\gdef\@ateneo{\expandafter\uppercase{\expandafter #1}}} +\def\ateneo#1{\gdef\@ateneo{#1}} \def\nomeateneo#1{\gdef\@nomeat{\expandafter\uppercase{\expandafter #1}}} \newcommand\facolta[2][]{\gdef\@facname{#2}\gdef\@facnumber{#1}} \let\struttura\facolta @@ -251,14 +251,24 @@ \newenvironment{frontespizio}{% \ifdefstring{\@currenvir}{frontespizio} - {\booltrue{topTPTlogos}}{\fr@ntespizio} + {\booltrue{topTPTlogos}}{\TPTmaybestar} }{% \fr@ntespizio } \newbool{AteneoInHead}\boolfalse{AteneoInHead} +\newcommand\TPTmaybestar[1]{\def\@tempA{#1}% +\ifdefstring{\@tempA}{*}% + {\boolfalse{topTPTlogos}\booltrue{AteneoInHead}\fr@ntespizio} + {\booltrue{topTPTlogos}\fr@ntespizio\@tempA} +} \def\fr@ntespizio{% -\begingroup +\begingroup\par + \oddsidemargin=\dimexpr(\oddsidemargin+\evensidemargin)/2\relax + \evensidemargin \oddsidemargin +\null +\setcounter{page}{1}% +\normalfont \ifclassica \boolfalse{topTPTlogos} \thispagestyle{classica} @@ -268,10 +278,13 @@ \thispagestyle{titlepage} \fi \ifcsvoid{@ateneo}{}{\booltrue{AteneoInHead}} - \oddsidemargin=\dimexpr(\oddsidemargin+\evensidemargin)/2\relax - \evensidemargin \oddsidemargin - \null\setcounter{page}{1}% - \normalfont +\ifcsvoid{@ateneo}{% + \ifbool{topTPTlogos} + {}{\booltrue{AteneoInHead}\def\@ateneo{Manca il nome dell'ateneo}}% +}{% + \booltrue{AteneoInHead}% +} + \ifbool{AteneoInHead}{}{% {{\centering\LARGE \@ateneo\par}} } @@ -310,7 +323,7 @@ \@TesiDiLaurea% \fi \fi - \ifx\empty\@materia\else + \unless\ifx\empty\@materia \\\@InName\\\@materia \fi \end{center} @@ -345,7 +358,7 @@ \fi \par \unless\iftopTPTlogos - {\centering \printloghi\par}\fi + {\vfill\centering \printloghi\par}\fi \vfill \iflaureatriennale \let\@nomerelatore\empty diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg b/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg index 8dac35306b2..ad73f0c1d1d 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi.cfg @@ -30,22 +30,20 @@ %% %%================================================================ %% This file is the only file of the TOPtesi bundle that the user -%% can modify without restrictions in order to customize the +%% can modify without restrictions in order to customise the %% contents of this configuration file to his/her needs. The user %% can add or remove lines, comment or uncomment lines, change the %% arguments to the macros, add definitions and so on. -%% A better use of this file consists into copying it to another -%% file to be named as the thesis main file and with extension -%% .cfg; This bundle will try to read "\jobname.cfg"; if this file -%% does not exist, it looks for toptesi.cfg and if this further -%% does not exist, it does nothing. This means that the provided -%% file toptesi.cfg is to be used preferably as a model, not to -%% be used directly. +%% Use this file by copying it to another file to be named as the +%% thesis main file and with extension .cfg; This bundle will try +%% to read "\jobname.cfg"; if this file it does nothing. This means +%% that the provided file toptesi.cfg is to be used as a model, not +%% to% be used directly. %%================================================================ %% \ateneo{Politecnico di Torino} -\facolta{}% nessun nome di default -\FacoltaDi{}% non viene scritta nessuna indicazione per la facoltà +\facolta{}% nessun nome di default/ no default name +\FacoltaDi{}% nessun prefisso per la facoltà/no default faculty label %%\DottoratoIn{Corso di dottorato in } \CorsoDiLaureaIn{Corso di Laurea in } \TesiDiLaurea{Tesi di Laurea Magistrale} diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi.cls b/Master/texmf-dist/tex/latex/toptesi/toptesi.cls index 920bcdba6d6..abb1713ac3d 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi.cls +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi.cls @@ -29,7 +29,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesClass{toptesi}% -[2014/11/13 v.5.85b Class for typesetting university theses] +[2014/12/13 v.5.86f Class for typesetting university theses] \DeclareOption{a4paper}{\PassOptionsToClass{\CurrentOption}{report}} \DeclareOption{titlepage}{\PassOptionsToClass{\CurrentOption}{report}} \DeclareOption*{\PassOptionsToClass{\CurrentOption}{report}} diff --git a/Master/texmf-dist/tex/latex/toptesi/toptesi.sty b/Master/texmf-dist/tex/latex/toptesi/toptesi.sty index 209ca0a4601..cc1f88b8981 100644 --- a/Master/texmf-dist/tex/latex/toptesi/toptesi.sty +++ b/Master/texmf-dist/tex/latex/toptesi/toptesi.sty @@ -29,7 +29,7 @@ %% Right brace \} Tilde \~} \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{toptesi}% -[2014/11/13 v.5.85b Extension for toptesi.cls]% +[2014/12/13 v.5.86f Extension for toptesi.cls]% \def\TRON{\tracingcommands \tw@ \tracingmacros \tw@} \def\TROFF{\tracingcommands\z@ \tracingmacros \z@} \let\TROF\TROFF diff --git a/Master/tlpkg/libexec/ctan2tds b/Master/tlpkg/libexec/ctan2tds index 5616e05acaa..60c3d132cb7 100755 --- a/Master/tlpkg/libexec/ctan2tds +++ b/Master/tlpkg/libexec/ctan2tds @@ -2202,6 +2202,7 @@ my $core_latex = "$Master/texmf-dist/tex/latex"; 'beamersubframe' => 'latex',# requires interaction 'basque-book' => 'latex', # requires interaction 'basque-date' => 'latex', # requires interaction + 'bbold' => 'pdflatex', 'bguq' => 'latex', # requires interaction 'bhcexam' => 'latex', # requires interaction 'bosisio' => 'latex -translate-file=empty.tcx', # ^^, no 8-bit @@ -3127,13 +3128,19 @@ sub runins { my ($thispatt) = @_; print "\t RUNINS $thispatt\n"; for (grep (/$thispatt/, @filenames)) { + my $env_mktex = "env MKTEXTFM=0 MKTEXMF=0 MKTEXPK=0"; # do not infinite loop on docstrip "output directory", e.g., fltpoint. - &runjob ("yes | sed 10q | env MKTEXTFM=0 MKTEXMF=0 MKTEXPK=0 $insrunner $_"); + &runjob ("yes | sed 10q | $env_mktex $insrunner $_"); + # bbold.dtx generates bbold.ins, and then does "low level hacks" to + # run the .ins itself. We don't want to do anything. + next if $package eq "bbold"; + # in the case of fullblck (et al.?), the .dtx creates the .ins (so the # .ins is not in @filenames), and the .ins creates the .sty. + # So we have to run the .ins. if (! grep (/$package\.ins$/, @filenames) && -r "$package.ins") { - &runjob ("yes | sed 10q | $insrunner $package.ins"); + &runjob ("yes | sed 10q | $env_mktex $insrunner $package.ins"); } } -- cgit v1.2.3