From df9074726b74dad2e353c2976dd2ae7d91aae73b Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 13 Mar 2016 21:19:12 +0000 Subject: suftesi (13mar16) git-svn-id: svn://tug.org/texlive/trunk@40019 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/suftesi/suftesi.cls | 313 +++++++++++++++++------- 1 file changed, 227 insertions(+), 86 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 7411f0b66df..01d9cb1d1dd 100644 --- a/Master/texmf-dist/tex/latex/suftesi/suftesi.cls +++ b/Master/texmf-dist/tex/latex/suftesi/suftesi.cls @@ -19,10 +19,11 @@ %% \NeedsTeXFormat{LaTeX2e}[2005/12/01] \ProvidesClass{suftesi} - [2016/03/02 v2.5 A class for typesetting theses, books and articles] + [2016/03/13 v2.6 A class for typesetting theses, books and articles] %% -%% \subsection*{Feedback} +%% \section*{Feedback} % \begin{table}[h] + \ClassWarningNoLine{suftesi}{% ******************************************\MessageBreak * DO NOT MODIFY THE STYLES OF THIS CLASS\MessageBreak @@ -81,6 +82,8 @@ \newif\ifsuftesi@twocolumnlot \newif\ifsuftesi@reverseauthortitle \newif\ifsuftesi@collection +\newif\ifsuftesi@mathminimal +\newif\ifsuftesi@mathextended \DeclareOption{a5paper}{% \ClassError{suftesi}{Option 'a5paper' not available}} \DeclareOption{b5paper}{% @@ -123,6 +126,9 @@ supercompactaureo,elements,periodicalaureo}[standard]{% \ifcase\nr\relax \DeclareRobustCommand{\SUF@chaptersize}{\Large} + \DeclareRobustCommand{\SUF@sectionsize}{\large} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{% heightrounded, a4paper, @@ -134,6 +140,9 @@ marginparsep= 12pt} \or \DeclareRobustCommand{\SUF@chaptersize}{\Large} + \DeclareRobustCommand{\SUF@sectionsize}{\large} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{% heightrounded, a4paper, @@ -146,6 +155,9 @@ \or \suftesi@periodicaltrue \DeclareRobustCommand{\SUF@chaptersize}{\large} + \DeclareRobustCommand{\SUF@sectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{ heightrounded, includeheadfoot=false, @@ -159,6 +171,9 @@ \or \suftesi@compacttrue \DeclareRobustCommand{\SUF@chaptersize}{\large} + \DeclareRobustCommand{\SUF@sectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{ heightrounded, includeheadfoot=false, @@ -172,6 +187,9 @@ \or \suftesi@compactaureotrue \DeclareRobustCommand{\SUF@chaptersize}{\large} + \DeclareRobustCommand{\SUF@sectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{ heightrounded, includeheadfoot=false, @@ -185,6 +203,9 @@ \or \suftesi@supercompacttrue \DeclareRobustCommand{\SUF@chaptersize}{\large} + \DeclareRobustCommand{\SUF@sectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{ heightrounded, includeheadfoot=false, @@ -198,6 +219,9 @@ \or \suftesi@supercompactaureotrue \DeclareRobustCommand{\SUF@chaptersize}{\large} + \DeclareRobustCommand{\SUF@sectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{ heightrounded, includeheadfoot=false, @@ -223,6 +247,9 @@ \or \suftesi@periodicalaureotrue \DeclareRobustCommand{\SUF@chaptersize}{\large} + \DeclareRobustCommand{\SUF@sectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsectionsize}{\normalsize} + \DeclareRobustCommand{\SUF@subsubsectionsize}{\normalsize} \geometry{% heightrounded, includeheadfoot=true, @@ -644,7 +671,7 @@ dotarabic,dotroman,dotRoman}[arabic]{% \define@choicekey{}{defaultfont}[\val\nr]{% none,cochineal,libertine,palatino,standard,compatibility}[cochineal]{% \ifcase\nr\relax - \suftesi@nofonttrue\suftesi@greekfontfalse + \suftesi@nofonttrue \or \suftesi@cochinealtrue \or @@ -656,6 +683,16 @@ dotarabic,dotroman,dotRoman}[arabic]{% \or \suftesi@compatibilitytrue \fi} +\define@choicekey{}{mathfont}[\val\nr]{% + none,minimal,extended}[minimal]{% +\ifcase\nr\relax + \suftesi@mathminimalfalse + \suftesi@mathextendedfalse +\or + \suftesi@mathminimaltrue +\or + \suftesi@mathextendedtrue +\fi} \define@choicekey{}{greekfont}[\val\nr]{% none,artemisia,porson,bodoni,cbgreek}[none]{% \ifcase\nr\relax @@ -682,13 +719,6 @@ dotarabic,dotroman,dotRoman}[arabic]{% \or \relax \fi} -\define@choicekey{}{crop}[\val\nr] - {true,false}[true]{% -\ifcase\nr\relax -\or - \suftesi@nocroptrue - \newcommand*\crop[1][]{} -\fi} \define@choicekey{}{draftdate}[\val\nr] {true,false}[true]{% \ifcase\nr\relax @@ -700,10 +730,18 @@ dotarabic,dotroman,dotRoman}[arabic]{% \ifcase\nr\relax \suftesi@nocroptrue \newcommand*\crop[1][]{} + \geometry{hmarginratio=1:1} \or \or \AtBeginDocument{\crop[off]} \fi} +\define@choicekey{}{crop}[\val\nr] + {true,false}[true]{% +\ifcase\nr\relax +\or + \suftesi@nocroptrue + \newcommand*\crop[1][]{} +\fi} \define@choicekey{}{titlepage}[\val\nr] {true,false}[true]{% \ifcase\nr\relax @@ -997,6 +1035,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} parindent=compact, tocstyle=standard, defaultfont=cochineal, + mathfont=minimal, greekfont=none, pagelayout=standard, headerstyle=inner, @@ -1100,85 +1139,145 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \RequirePackage[LGR,T1]{fontenc} \RequirePackage{substitutefont} \AtBeginDocument{\fontencoding{T1}\selectfont} -\ifsuftesi@nofont\relax +\ifsuftesi@nofont + \ifsuftesi@greekfont + \ClassWarningNoLine{suftesi}{% + Unused 'greekfont' option}{}% + \suftesi@greekfontfalse + \else\suftesi@greekfontfalse\fi \else \ifsuftesi@standard - \RequirePackage{lmodern} - \else - \ifsuftesi@compatibility + \RequirePackage{lmodern} + \ifsuftesi@greekfont + \ClassWarningNoLine{suftesi}{% + Unused 'greekfont' option}{}% + \suftesi@greekfontfalse + \else\suftesi@greekfontfalse\fi +\else + \ifsuftesi@compatibility \RequirePackage[osf,sc]{mathpazo} \RequirePackage[scaled=0.8]{beramono} \renewcommand{\sfdefault}{iwona} + \ifsuftesi@greekfont \ifsuftesi@bodoni - \def\SUFfntscale{0.955} + \gdef\SUFfntscale{0.96} \else \ifsuftesi@artemisia - \def\SUFfntscale{0.97} + \gdef\SUFfntscale{0.97} \else \ifsuftesi@porson - \def\SUFfntscale{1.18} + \gdef\SUFfntscale{1.18} + \else + \ifsuftesi@cbgreek + \def\lmfntscale{1.06} \else \fi \fi \fi - \else - \ifsuftesi@palatino + \fi + \else + \ClassError{suftesi}{\MessageBreak + Set one of the following options\MessageBreak + greekfont=artemisia,\MessageBreak + greekfont=porson,\MessageBreak + greekfont=cbgreek}{\MessageBreak + Set one of the following options\MessageBreak + greekfont=artemisia,\MessageBreak + greekfont=porson,\MessageBreak + greekfont=cbgreek} + \fi +\else + \ifsuftesi@palatino \RequirePackage[full]{textcomp} \RequirePackage[osf]{newpxtext} \RequirePackage[scaled=1.06]{biolinum} \RequirePackage[varqu,varl]{inconsolata} + \ifsuftesi@mathextended + \RequirePackage{amsmath} + \RequirePackage{amsthm} \RequirePackage[bigdelims,vvarbb]{newpxmath} \RequirePackage[cal=boondoxo]{mathalfa} + \else + \ifsuftesi@mathminimal + \RequirePackage[bigdelims,vvarbb]{newpxmath} + \RequirePackage[cal=boondoxo]{mathalfa} + \else + \fi + \fi \ifsuftesi@bodoni - \def\SUFfntscale{0.955} + \gdef\SUFfntscale{0.96} \else \ifsuftesi@artemisia - \def\SUFfntscale{0.97} + \gdef\SUFfntscale{0.97} \else \ifsuftesi@porson - \def\SUFfntscale{1.18} + \gdef\SUFfntscale{1.18} + \else + \ifsuftesi@cbgreek + \def\lmfntscale{1.06} \else \fi \fi \fi + \fi \else - \ifsuftesi@libertine + \ifsuftesi@libertine \RequirePackage{textcomp} \RequirePackage[sb]{libertine} \RequirePackage[varqu,varl,scaled=0.94]{inconsolata} + \ifsuftesi@mathextended + \RequirePackage{amsmath} + \RequirePackage{amsthm} + \RequirePackage[libertine,bigdelims,vvarbb]{newtxmath} + \RequirePackage[cal=boondoxo]{mathalfa} + \else + \ifsuftesi@mathminimal \RequirePackage[libertine,bigdelims,vvarbb]{newtxmath} \RequirePackage[cal=boondoxo]{mathalfa} + \else + \fi + \fi \useosf \ifsuftesi@bodoni - \def\SUFfntscale{0.89} + \gdef\SUFfntscale{0.9} \else \ifsuftesi@artemisia - \def\SUFfntscale{0.91} + \gdef\SUFfntscale{0.91} \else \ifsuftesi@porson - \def\SUFfntscale{1.08} + \gdef\SUFfntscale{1.1} \else \fi \fi \fi - \else - \ifsuftesi@cochineal +\else + \ifsuftesi@cochineal \RequirePackage{textcomp} \RequirePackage{cochineal} \RequirePackage[varqu,varl,var0]{inconsolata} \RequirePackage{biolinum} + \ifsuftesi@mathextended + \RequirePackage{amsmath} + \RequirePackage{amsthm} \RequirePackage[cochineal,bigdelims,cmintegrals,vvarbb]{newtxmath} \RequirePackage[cal=boondoxo]{mathalfa} + \else + \ifsuftesi@mathminimal + \RequirePackage[cochineal,bigdelims,cmintegrals,vvarbb]{newtxmath} + \RequirePackage[cal=boondoxo]{mathalfa} + \else + \fi + \fi \useosf \useproportional \ifsuftesi@bodoni - \def\SUFfntscale{0.88} + \gdef\SUFfntscale{0.9} \else \ifsuftesi@artemisia - \def\SUFfntscale{0.89} + \gdef\SUFfntscale{0.905} \else \ifsuftesi@porson - \def\SUFfntscale{1.04} + \gdef\SUFfntscale{1.1} \else \fi \fi @@ -1190,54 +1289,33 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \fi \fi \fi +} +\ifxetex\else\ifluatex\else \ifsuftesi@greekfont -\ifsuftesi@artemisia - \def\SUF@greekfamily{artemisia} - \else - \ifsuftesi@porson - \def\SUF@greekfamily{porson} - \else - \ifsuftesi@bodoni - \def\SUF@greekfamily{bodoni} - \else - \ifsuftesi@cbgreek - \def\SUF@greekfamily{lmr} + \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 - \fi -\fi -\AtBeginDocument{ - \substitutefont{LGR}{\rmdefault}{\SUF@greekfamily} - \DeclareRobustCommand{\greektext}{% - \usefont{LGR}{\SUF@greekfamily}{\f@series}{\f@shape} - \def\encodingdefault{LGR}} - \DeclareTextFontCommand{\textgreek}{\greektext}} -\else -\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 - \ifsuftesi@cbgreek - \else + \AtBeginDocument{ + \substitutefont{LGR}{\rmdefault}{\SUF@greekfamily} + \DeclareRobustCommand{\greektext}{% + \usefont{LGR}{\SUF@greekfamily}{\f@series}{\f@shape} + \def\encodingdefault{LGR}} + \DeclareTextFontCommand{\textgreek}{\greektext}} +\ifsuftesi@cbgreek + \else \DeclareFontFamily{LGR}{bodoni}{} \DeclareFontShape{LGR}{bodoni}{m}{n}{<-> s * [\SUFfntscale] gbodonirg6a}{} \DeclareFontShape{LGR}{bodoni}{m}{it}{<-> s * [\SUFfntscale] gbodonii6a}{} @@ -1280,17 +1358,14 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \DeclareFontShape{LGR}{porson}{bx}{sl}{<-> s * [\SUFfntscale] gporsonrg6a}{} \fi \else - \fi +\fi +\fi \fi \ifsuftesi@nocrop \relax \else \RequirePackage[a4,cam,center]{crop} \fi - \ifsuftesi@screen - \geometry{hmarginratio=1:1} - \else - \fi \RequirePackage{titlesec} \newlength{\sectionsep} \setlength{\sectionsep}{\dimexpr(\baselineskip) plus 1pt minus 1pt} @@ -1375,7 +1450,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \def\SUF@default@SECTIONS{ \ifsuftesi@numparsec \titleformat{\section}[display] - {\SUF@lr@SECSwitch} + {\SUF@sectionsize\SUF@lr@SECSwitch} {\ifsuftesi@article\SUF@thesection \else\thesection\fi\SUF@dotsec} {0ex} @@ -1383,7 +1458,7 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \titlespacing*{\section}{0em}{\sectionsep}{\sectionsep}[0em] \else \titleformat{\section}[hang] - {\SUF@lr@SECSwitch} + {\SUF@sectionsize\SUF@lr@SECSwitch} {\ifsuftesi@article\SUF@thesection \else\thesection\fi\SUF@dotsec} {1em} @@ -1392,14 +1467,14 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \fi \ifsuftesi@numparsubsec \titleformat{\subsection}[display] - {\SUF@lr@SUBSECSwitch} + {\SUF@subsectionsize\SUF@lr@SUBSECSwitch} {\textnormal\thesubsection} {0ex} {\SUF@SUBSEC@StyleSwitch} \titlespacing*{\subsection}{0em}{\sectionsep}{\sectionsep}[0em] \else \titleformat{\subsection}[hang] - {\SUF@lr@SUBSECSwitch} + {\SUF@subsectionsize\SUF@lr@SUBSECSwitch} {\textnormal\thesubsection} {1em} {\SUF@SUBSEC@StyleSwitch} @@ -1407,14 +1482,14 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} \fi \ifsuftesi@numparsubsubsec \titleformat{\subsubsection}[display] - {\SUF@lr@SUBSUBSECSwitch} + {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch} {\textnormal\thesubsubsection} {0ex} {\SUF@SUBSUBSEC@StyleSwitch} \titlespacing*{\subsubsection}{0em}{\sectionsep}{\sectionsep}[0em] \else \titleformat{\subsubsection}[hang] - {\SUF@lr@SUBSUBSECSwitch} + {\SUF@subsectionsize\SUF@lr@SUBSUBSECSwitch} {\textnormal\thesubsubsection} {1em} {\SUF@SUBSUBSEC@StyleSwitch} @@ -1623,6 +1698,72 @@ quotesize,footnotestyle,liststyle,captionstyle,parindent} {\relax}% }% \fi +\newcommand{\Ctitle}[1]{\def\@Ctitle{#1}} +\newcommand{\Csubtitle}[1]{\def\@Csubtitle{#1}} +\newcommand{\Cauthor}[1]{\def\@Cauthor{#1}} +\newcommand{\Ceditor}[1]{\def\@Ceditor{#1}} +\newcommand{\Cfoot}[1]{\def\@Cfoot{#1}} +\newcommand{\Cpagecolor}[1]{\def\@Cpagecolor{#1}} +\newcommand{\Ccirclecolor}[1]{\def\@Ccirclecolor{#1}} +\newcommand{\Ctextcolor}[1]{\def\@Ctextcolor{#1}} +\newcommand{\Cfootcolor}[1]{\def\@Cfootcolor{#1}} +\Cauthor{} +\Ctitle{} +\Csubtitle{} +\Ceditor{} +\Cfoot{} +\Cpagecolor{gray!30} +\Ctextcolor{white} +\Cfootcolor{black} +\AtBeginDocument{ +\@ifpackageloaded{tikz}{% +\newcommand\makecover[1][]{% +\begin{titlepage} +\begin{tikzpicture}[overlay,remember picture] + \draw[draw=none,fill=\@Cpagecolor] + (current page.north west) rectangle (current page.south east); + \node[anchor=center,yshift=.22\paperwidth] at (current page.center) (c) {}; + \draw[draw=none,fill=gray,#1] + (c) circle (.38\paperwidth) ; + \node[anchor=center] at (c) (author) {% +\parbox{.7\paperwidth}{% + \centering + \ifx\@Cauthor\@empty + \else + {\scshape\color{\@Ctextcolor}\@Cauthor\\} + \vspace*{\baselineskip} + \fi + + \ifx\@Ctitle\@empty + \else + {\Huge\bfseries\color{\@Ctextcolor}\@Ctitle\\} + \fi + + \ifx\@Csubtitle\@empty + \else + {\smallskip\Large\color{\@Ctextcolor}\@Csubtitle\\} + \fi + + \ifx\@Ceditor\@empty + \else + {\vspace*{2\baselineskip}\color{\@Ctextcolor}\@Ceditor\\} + \fi} +}; +\ifx\@Cfoot\@empty\else + \node[xshift=.5\paperwidth,yshift=1cm, + align=center,text=\@Cfootcolor,anchor=south] + at (current page.south west) {\@Cfoot}; +\fi +\end{tikzpicture} +\end{titlepage} +} +} +{\def\makecover{\ClassError{suftesi}{\MessageBreak% + ***********************************\MessageBreak + * To use the \noexpand\makecover command\MessageBreak + * load the 'tikz' package.\MessageBreak + ************************************}{}}} +} \def\isbn#1{\gdef\@isbn{#1}} \def\@issn{\@latex@warning@no@line{% No \noexpand\isbn given}} -- cgit v1.2.3