From 6b58252551de0672e45a8a9db52aa86496a77d87 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 26 Feb 2016 22:37:23 +0000 Subject: suftesi (26feb16) git-svn-id: svn://tug.org/texlive/trunk@39876 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/suftesi/suftesi.cls | 340 ++++++++++++++++++------ 1 file changed, 253 insertions(+), 87 deletions(-) (limited to 'Master/texmf-dist/tex/latex/suftesi') diff --git a/Master/texmf-dist/tex/latex/suftesi/suftesi.cls b/Master/texmf-dist/tex/latex/suftesi/suftesi.cls index 245076d2c02..fa415411daa 100644 --- a/Master/texmf-dist/tex/latex/suftesi/suftesi.cls +++ b/Master/texmf-dist/tex/latex/suftesi/suftesi.cls @@ -19,7 +19,10 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesClass{suftesi} - [2015/09/19 v2.3 A class for typesetting theses, books and articles] + [2016/02/26 v2.4 A class for typesetting theses, books and articles] +%% +%% \subsection*{Feedback} + % \begin{table}[h] \ClassWarningNoLine{suftesi}{% ******************************************\MessageBreak * DO NOT MODIFY THE STYLES OF THIS CLASS\MessageBreak @@ -30,8 +33,17 @@ * THIS IS A HARMLESS MESSAGE :-)\MessageBreak ******************************************}{}% \RequirePackage{xkeyval} -\newif\ifsuftesi@standardfont +\newif\ifsuftesi@compatibility +\newif\ifsuftesi@nofont +\newif\ifsuftesi@greekfont +\newif\ifsuftesi@standard +\newif\ifsuftesi@cochineal +\newif\ifsuftesi@libertine +\newif\ifsuftesi@palatino \newif\ifsuftesi@porson +\newif\ifsuftesi@artemisia +\newif\ifsuftesi@bodoni +\newif\ifsuftesi@cbgreek \newif\ifsuftesi@centerheader \newif\ifsuftesi@sufplain \newif\ifsuftesi@article @@ -83,6 +95,17 @@ \ProcessOptions \relax \LoadClass{book} +\define@choicekey{}{structure}[\val\nr] + {book,article,collection}[book]{% +\ifcase\nr\relax +\disable@keys{}{secnumstyle} +\or +\suftesi@articletrue +\@titlepagefalse +\or +\suftesi@collectiontrue + \setkeys{}{headerstyle=authortitleinner} +\fi} \define@choicekey{}{documentstructure}[\val\nr] {book,article,collection}[book]{% \ifcase\nr\relax @@ -619,21 +642,32 @@ dotarabic,dotroman,dotRoman}[arabic]{% \fi } \define@choicekey{}{defaultfont}[\val\nr]{% - palatino,standard}[palatino]{% + none,cochineal,libertine,palatino,standard,compatibility}[cochineal]{% \ifcase\nr\relax + \suftesi@nofonttrue\suftesi@greekfontfalse \or - \suftesi@standardfonttrue -\def\SUF@greekfamily{lmr} + \suftesi@cochinealtrue +\or + \suftesi@libertinetrue +\or + \suftesi@palatinotrue +\or + \suftesi@standardtrue +\or + \suftesi@compatibilitytrue \fi} \define@choicekey{}{greekfont}[\val\nr]{% - artemisia,porson,cbgreek}[artemisia]{% + none,artemisia,porson,bodoni,cbgreek}[none]{% \ifcase\nr\relax -\def\SUF@greekfamily{artemisiaeuler} +\suftesi@greekfontfalse +\or +\suftesi@greekfonttrue\suftesi@artemisiatrue \or -\def\SUF@greekfamily{porson} -\suftesi@porsontrue +\suftesi@greekfonttrue\suftesi@porsontrue \or -\def\SUF@greekfamily{lmr} +\suftesi@greekfonttrue\suftesi@bodonitrue +\or +\suftesi@greekfonttrue\suftesi@cbgreektrue \fi} \define@choicekey{}{parindent}[\val\nr] {compact,wide}[compact]{% @@ -883,7 +917,7 @@ dotarabic,dotroman,dotRoman}[arabic]{% liststyle=indented, tocstyle=leftpage} \disable@keys{} -{documentstructure,pagelayout,partfont,chapfont,secfont,% +{structure,pagelayout,partfont,chapfont,secfont,% subsecfont,subsubsecfont,partstyle,chapstyle,secstyle,% subsecstyle,subsubsecstyle,partnumstyle,chapnumstyle,% secnumstyle,tocstyle,headerstyle,headerfont,quotestyle,% @@ -901,7 +935,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} liststyle=indented, tocstyle=leftpage} \disable@keys{} -{documentstructure,pagelayout,partfont,chapfont,secfont,% +{structure,pagelayout,partfont,chapfont,secfont,% subsecfont,subsubsecfont,partstyle,chapstyle,secstyle,% subsecstyle,subsubsecstyle,partnumstyle,chapnumstyle,% secnumstyle,tocstyle,headerstyle,headerfont,quotestyle,% @@ -920,7 +954,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} liststyle=indented, tocstyle=leftpage} \disable@keys{} -{documentstructure,pagelayout,partfont,chapfont,secfont,% +{structure,pagelayout,partfont,chapfont,secfont,% subsecfont,subsubsecfont,partstyle,chapstyle,secstyle,% subsecstyle,subsubsecstyle,partnumstyle,chapnumstyle,% secnumstyle,tocstyle,headerstyle,headerfont,quotestyle,% @@ -963,7 +997,8 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} marginpar=true, parindent=compact, tocstyle=standard, - greekfont=artemisia, + defaultfont=cochineal, + greekfont=none, pagelayout=standard, headerstyle=inner, liststyle=bulged, @@ -1022,7 +1057,8 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \def\@uclcnotmath#1#2#3#4{\begingroup #1% \def \({$}\let \)\(\def \NoCaseChange ##1{% \noexpand \NoCaseChange {\noexpand ##1}}% - \def\hyper@linkstart##1##2##3{$\valign$\noexpand\hyper@linkstart{##1}{##2}{% + \def\hyper@linkstart##1##2##3{% + $\valign$\noexpand\hyper@linkstart{##1}{##2}{% \noexpand\@skipmath #3 ##3$\valign $}\noexpand\@skipmath}\def\hyper@linkend{% \noexpand\hyper@linkend}% @@ -1032,8 +1068,10 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \def \cite ##1##{\toks@ {\noexpand \cite ##1}\@citex }% \def \@citex ##1{\NoCaseChange {\the \toks@ {##1}}}% \def \reserved@a ##1##2{\let #2\reserved@a }% - \expandafter \reserved@a \@uclclist \reserved@b {\reserved@b \@gobble }% - \protected@edef \reserved@a {\endgroup\noexpand \@skipmath #3#4$\valign $}% + \expandafter \reserved@a \@uclclist \reserved@b % + {\reserved@b \@gobble }% + \protected@edef \reserved@a {\endgroup\noexpand % + \@skipmath #3#4$\valign $}% \reserved@a}}{}} \ifsuftesi@FSPL \RequirePackage{cclicenses} @@ -1063,66 +1101,192 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \RequirePackage[LGR,T1]{fontenc} \RequirePackage{substitutefont} \AtBeginDocument{\fontencoding{T1}\selectfont} -\ifsuftesi@standardfont +\ifsuftesi@nofont\relax +\else +\ifsuftesi@standard \RequirePackage{lmodern} - \relax - \else - \RequirePackage[osf,sc]{mathpazo} - \RequirePackage[scaled=0.8]{beramono} - \renewcommand{\sfdefault}{iwona} + \else + \ifsuftesi@compatibility + \RequirePackage[osf,sc]{mathpazo} + \RequirePackage[scaled=0.8]{beramono} + \renewcommand{\sfdefault}{iwona} + \ifsuftesi@bodoni + \def\SUFfntscale{0.955} + \else + \ifsuftesi@artemisia + \def\SUFfntscale{0.97} + \else + \ifsuftesi@porson + \def\SUFfntscale{1.18} + \else + \fi + \fi + \fi + \else + \ifsuftesi@palatino + \RequirePackage[full]{textcomp} + \RequirePackage[osf]{newpxtext} + \RequirePackage[scaled=1.06]{biolinum} + \RequirePackage[varqu,varl]{inconsolata} + \RequirePackage[bigdelims,vvarbb]{newpxmath} + \RequirePackage[cal=boondoxo]{mathalfa} + \ifsuftesi@bodoni + \def\SUFfntscale{0.955} + \else + \ifsuftesi@artemisia + \def\SUFfntscale{0.97} + \else + \ifsuftesi@porson + \def\SUFfntscale{1.18} + \else + \fi + \fi + \fi +\else + \ifsuftesi@libertine + \RequirePackage{textcomp} + \RequirePackage[sb]{libertine} + \RequirePackage[varqu,varl,scaled=0.94]{inconsolata} + \RequirePackage[libertine,bigdelims,vvarbb]{newtxmath} + \RequirePackage[cal=boondoxo]{mathalfa} + \useosf + \ifsuftesi@bodoni + \def\SUFfntscale{0.89} + \else + \ifsuftesi@artemisia + \def\SUFfntscale{0.91} + \else + \ifsuftesi@porson + \def\SUFfntscale{1.08} + \else + \fi + \fi + \fi + \else + \ifsuftesi@cochineal + \RequirePackage{textcomp} + \RequirePackage{cochineal} + \RequirePackage[varqu,varl,var0]{inconsolata} + \RequirePackage{biolinum} + \RequirePackage[cochineal,bigdelims,cmintegrals,vvarbb]{newtxmath} + \RequirePackage[cal=boondoxo]{mathalfa} + \useosf + \useproportional + \ifsuftesi@bodoni + \def\SUFfntscale{0.88} + \else + \ifsuftesi@artemisia + \def\SUFfntscale{0.89} + \else + \ifsuftesi@porson + \def\SUFfntscale{1.04} + \else + \fi + \fi + \fi + \else + \fi + \fi + \fi + \fi + \fi + \fi +\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 + \fi +\fi \AtBeginDocument{ -\substitutefont{LGR}{\rmdefault}{\SUF@greekfamily} - \DeclareRobustCommand{\greektext}{% - \usefont{LGR}{\SUF@greekfamily}{\f@series}{\f@shape} - \def\encodingdefault{LGR}} - \DeclareTextFontCommand{\textgreek}{\greektext} - } - \DeclareFontFamily{LGR}{pplj}{} - \DeclareFontShape{LGR}{pplj}{m}{n}{<->ssub * lmr/m/n}{} - \DeclareFontShape{LGR}{pplj}{m}{it}{<->ssub * lmr/m/it}{} - \DeclareFontShape{LGR}{pplj}{m}{sl}{<->ssub * lmr/m/sl}{} - \DeclareFontShape{LGR}{pplj}{m}{sc}{<->ssub * lmr/m/sc}{} - \DeclareFontShape{LGR}{pplj}{b}{n}{<->ssub * lmr/bx/n}{} - \DeclareFontShape{LGR}{pplj}{b}{it}{<->ssub * lmr/bx/it}{} - \DeclareFontShape{LGR}{pplj}{b}{sl}{<->ssub * lmr/bx/sl}{} - \DeclareFontShape{LGR}{pplj}{b}{sc}{<->ssub * lmr/bx/sc}{} - \DeclareFontShape{LGR}{pplj}{bx}{n}{<->ssub * lmr/bx/n}{} - \DeclareFontShape{LGR}{pplj}{bx}{it}{<->ssub * lmr/bx/it}{} - \DeclareFontShape{LGR}{pplj}{bx}{sl}{<->ssub * lmr/bx/sl}{} - \DeclareFontShape{LGR}{pplj}{bx}{sc}{<->ssub * lmr/bx/sc}{} - \DeclareFontShape{LGR}{pplj}{m}{li}{<->ssub * lmr/m/li}{} - \DeclareFontShape{LGR}{pplj}{b}{li}{<->ssub * lmr/b/li}{} - \DeclareFontShape{LGR}{pplj}{bx}{li}{<->ssub * lmr/bx/li}{} - \DeclareFontShape{LGR}{pplj}{m}{ui}{<->ssub * lmr/m/ui}{} - \DeclareFontShape{LGR}{pplj}{b}{ui}{<->ssub * lmr/m/ui}{} - \DeclareFontShape{LGR}{pplj}{bx}{ui}{<->ssub * lmr/bx/ui}{} - \DeclareFontShape{LGR}{pplj}{m}{rs}{<->ssub * lmr/m/rs}{} - \DeclareFontShape{LGR}{pplj}{b}{rs}{<->ssub * lmr/m/rs}{} - \DeclareFontShape{LGR}{pplj}{bx}{rs}{<->ssub * lmr/bx/rs}{} + \substitutefont{LGR}{\rmdefault}{\SUF@greekfamily} + \DeclareRobustCommand{\greektext}{% + \usefont{LGR}{\SUF@greekfamily}{\f@series}{\f@shape} + \def\encodingdefault{LGR}} + \DeclareTextFontCommand{\textgreek}{\greektext}} +\else \fi -\ifsuftesi@porson -\sbox\z@{\fontsize{10}{10}\normalfont A} -\sbox\tw@{\font\temp=gporsonrg6a at 10pt \temp A} -\dimen@=\dimexpr \p@*\ht\z@/\ht\tw@\relax -\sbox\z@{\normalfont\fontsize{10}{10}\selectfont a} -\sbox\tw@{\font\temp=gporsonrg6a at 10pt \temp a} -\dimen2=\dimexpr \p@*\ht\z@/\ht\tw@\relax -\dimen4= 0.6\p@ -\dimen@=\dimexpr \dimen@ - \dimen4*\dimen@/\p@+\dimen4*\dimen2/\p@\relax -\edef\art@scale{\strip@pt\dimen@} -\DeclareFontFamily{LGR}{porson}{} -\DeclareFontShape{LGR}{porson}{m}{n} {<-> s * [\art@scale] gporsonrg6a}{} -\DeclareFontShape{LGR}{porson}{m}{it} {<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{b}{n} {<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{b}{it} {<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{m}{sl} {<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{b}{sl} {<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{m}{sc} {<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{bx}{n} {<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{bx}{it}{<-> ssub * porson/m/n}{} -\DeclareFontShape{LGR}{porson}{bx}{sl}{<-> ssub * porson/m/n}{} - \fi } +\ifsuftesi@nofont + \ifsuftesi@greekfont + \ClassError{suftesi} + {'greekfont' option\MessageBreak + You can not use 'greekfont' option\MessageBreak + with 'defaultfont=none' option\MessageBreak + Set 'greekfont=none' or do not load\MessageBreak + the 'greekfont' option} + {'greekfont' option\MessageBreak + You can not use 'greekfont' option\MessageBreak + with 'defaultfont=none' option\MessageBreak + Set 'greekfont=none' or do not load\MessageBreak + the 'greekfont' option} + \else + \fi + \else +\fi + +\ifxetex + \else + \ifsuftesi@greekfont +\DeclareFontFamily{LGR}{bodoni}{} +\DeclareFontShape{LGR}{bodoni}{m}{n}{<-> s * [\SUFfntscale] gbodonirg6a}{} +\DeclareFontShape{LGR}{bodoni}{m}{it}{<-> s * [\SUFfntscale] gbodonii6a}{} +\DeclareFontShape{LGR}{bodoni}{b}{n}{<-> s * [\SUFfntscale] gbodonib6a}{} +\DeclareFontShape{LGR}{bodoni}{b}{it}{<-> s * [\SUFfntscale] gbodonibi6a}{} +\DeclareFontShape{LGR}{bodoni}{m}{sl}{<-> s * [\SUFfntscale] gbodonio6a}{} +\DeclareFontShape{LGR}{bodoni}{b}{sl}{<-> s * [\SUFfntscale] gbodonibo6a}{} +\DeclareFontShape{LGR}{bodoni}{m}{sc}{<-> s * [\SUFfntscale] gbodonisc6a}{} +\DeclareFontShape{LGR}{bodoni}{m}{sco}{<-> s * [\SUFfntscale] gbodonisco6a}{} + +\DeclareFontShape{LGR}{bodoni}{bx}{n}{<-> s * [\SUFfntscale] gbodonib6a}{} +\DeclareFontShape{LGR}{bodoni}{bx}{it}{<-> s * [\SUFfntscale] gbodonibi6a}{} +\DeclareFontShape{LGR}{bodoni}{bx}{sl}{<-> s * [\SUFfntscale] gbodonibo6a}{} + +\DeclareFontFamily{LGR}{artemisia}{} +\DeclareFontShape{LGR}{artemisia}{m}{n}{<-> s * [\SUFfntscale] gartemisiarg6a}{} +\DeclareFontShape{LGR}{artemisia}{m}{it}{<-> s * [\SUFfntscale] gartemisiai6a}{} +\DeclareFontShape{LGR}{artemisia}{b}{n}{<-> s * [\SUFfntscale] gartemisiab6a}{} +\DeclareFontShape{LGR}{artemisia}{b}{it}{<-> s * [\SUFfntscale] gartemisiabi6a}{} +\DeclareFontShape{LGR}{artemisia}{m}{sl}{<-> s * [\SUFfntscale] gartemisiao6a}{} +\DeclareFontShape{LGR}{artemisia}{b}{sl}{<-> s * [\SUFfntscale] gartemisiabo6a}{} +\DeclareFontShape{LGR}{artemisia}{m}{sc}{<-> s * [\SUFfntscale] gartemisiasc6a}{} +\DeclareFontShape{LGR}{artemisia}{m}{sco}{<-> s * [\SUFfntscale] gartemisiasco6a}{} + +\DeclareFontShape{LGR}{artemisia}{bx}{n}{<-> s * [\SUFfntscale] gartemisiab6a}{} +\DeclareFontShape{LGR}{artemisia}{bx}{it}{<-> s * [\SUFfntscale] gartemisiabi6a}{} +\DeclareFontShape{LGR}{artemisia}{bx}{sl}{<-> s * [\SUFfntscale] gartemisiabo6a}{} + +\DeclareFontFamily{LGR}{porson}{} +\DeclareFontShape{LGR}{porson}{m}{n}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{m}{it}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{b}{n}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{b}{it}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{m}{sl}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{b}{sl}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{m}{sc}{<-> s * [\SUFfntscale] gporsonrg6a}{} + +\DeclareFontShape{LGR}{porson}{bx}{n}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{bx}{it}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\DeclareFontShape{LGR}{porson}{bx}{sl}{<-> s * [\SUFfntscale] gporsonrg6a}{} +\else + \ifsuftesi@nofont + \else + \ifsuftesi@standard + \else + \fi + \fi + \fi +\fi \ifsuftesi@nocrop \relax \else @@ -1334,9 +1498,9 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \ifsuftesi@article \def\chapter#1{\ClassError{suftesi} {\noexpand\chapter level is undefined - using 'documentstructure=article'} + using 'structure=article'} {\noexpand\chapter level is undefined - using 'documentstructure=article'}} + using 'structure=article'}} \setcounter{tocdepth}{3} \setcounter{secnumdepth}{3} \renewcommand\thesection{% @@ -1703,7 +1867,8 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \def\collectioneditor#1{\gdef\@collectioneditor{#1}} \def\@collectioneditor{\@latex@warning@no@line{% No \noexpand\collectioneditor given}} -\renewcommand*{\title}[2][]{\gdef\@headtitle{#1}\gdef\@title{#2}\markright{#1}} +\renewcommand*{\title}[2][]{% + \gdef\@headtitle{#1}\gdef\@title{#2}\markright{#1}} \edef\title{\noexpand\@dblarg \expandafter\noexpand\csname\string\title\endcsname} \def\@headtitle{--missing title--% @@ -1739,9 +1904,9 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \ClassError{suftesi} {\MessageBreak You can not use tocstyle=leftpage\MessageBreak - with documentstructure=collection} + with structure=collection} {You can not use tocstyle=leftpage\MessageBreak - with documentstructure=collection} + with structure=collection} \else \nobreak\hfill #2\par \fi @@ -1789,7 +1954,8 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \csname toc@entry@\endcsname \begingroup% \let\thanks\@gobble - \addcontentsline{toc}{title}{\normalfont{\@author}\texorpdfstring{\newline}{, }% + \addcontentsline{toc}{title}{% + \normalfont{\@author}\texorpdfstring{\newline}{, }% \itshape\@headtitle} \endgroup% \par\nobreak\vspace{2ex} @@ -2624,9 +2790,9 @@ Janusz M. Nowacki. \def\chapterintro{% \ClassError{suftesi} {Command \noexpand\chapterintro is undefined\MessageBreak - using 'documentstructure=article'} + using 'structure=article'} {Command \noexpand\chapterintro is undefined\MessageBreak - using 'documentstructure=article'}} + using 'structure=article'}} \else \def\chapterintro{ \@ifstar{\@tempswafalse\@chapterintro}{\@tempswatrue\@chapterintro}} @@ -2676,19 +2842,19 @@ Janusz M. Nowacki. \ifsuftesi@article \renewcommand\frontmatter{\ClassError{suftesi} {Command \noexpand\frontmatter is undefined\MessageBreak - using 'documentstructure=article'} + using 'structure=article'} {Command \noexpand\frontmatter is undefined\MessageBreak - using 'documentstructure=article'}} + using 'structure=article'}} \renewcommand\mainmatter{\ClassError{suftesi} {Command \noexpand\mainmatter is undefined\MessageBreak - using 'documentstructure=article'} + using 'structure=article'} {Command \noexpand\mainmatter is undefined\MessageBreak - using 'documentstructure=article'}} + using 'structure=article'}} \renewcommand\backmatter{\ClassError{suftesi} {Command \noexpand\backmatter is undefined\MessageBreak - using 'documentstructure=article'} + using 'structure=article'} {Command \noexpand\backmatter is undefined\MessageBreak - using 'documentstructure=article'}} + using 'structure=article'}} \else \renewcommand\frontmatter{\cleardoublepage\@mainmatterfalse} \renewcommand\mainmatter{\cleardoublepage\@mainmattertrue} -- cgit v1.2.3