summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/suftesi/suftesi.cls
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/suftesi/suftesi.cls')
-rw-r--r--Master/texmf-dist/tex/latex/suftesi/suftesi.cls313
1 files changed, 227 insertions, 86 deletions
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}}