summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/suftesi
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2012-10-18 22:39:24 +0000
committerKarl Berry <karl@freefriends.org>2012-10-18 22:39:24 +0000
commit53f4514f079fc23ae33a1a1aa730e83203bc2ef5 (patch)
treebc53cf06e1557ce1798ceeb96facb4a21f02d088 /Master/texmf-dist/tex/latex/suftesi
parentdfee8c21fa1b6c00891bec9d201ef488c400bdd5 (diff)
suftesi (15oct12)
git-svn-id: svn://tug.org/texlive/trunk@28016 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/suftesi')
-rw-r--r--Master/texmf-dist/tex/latex/suftesi/suftesi.cls172
1 files changed, 146 insertions, 26 deletions
diff --git a/Master/texmf-dist/tex/latex/suftesi/suftesi.cls b/Master/texmf-dist/tex/latex/suftesi/suftesi.cls
index 5cef494867c..c5457323573 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}
- [2012/09/25 v0.9c A class for typesetting theses, books and articles]
+ [2012/10/14 v1.0 A class for typesetting theses, books and articles]
+
\RequirePackage{xkeyval}
-\newif\ifsuftesi@cmfont
+\newif\ifsuftesi@standardfont
\newif\ifsuftesi@porson
\newif\ifsuftesi@centerheader
\newif\ifsuftesi@sufplain
@@ -48,9 +49,19 @@
\newif\ifsuftesi@elementsheader
\newif\ifsuftesi@elementsstructure
\newif\ifsuftesi@elementspagelayout
-\newif\ifsuftesi@bozza
+\newif\ifsuftesi@draftdate
\newif\ifsuftesi@fewfootnotes
\newif\ifsuftesi@partpage
+\DeclareOption{a5paper}{%
+ \ClassWarningNoLine{suftesi}{Option 'a5paper' not available}}
+\DeclareOption{b5paper}{%
+ \ClassWarningNoLine{suftesi}{Option 'b5paper' not available}}
+\DeclareOption{legalpaper}{%
+ \ClassWarningNoLine{suftesi}{Option 'legalpaper' not available}}
+\DeclareOption{executivepaper}{%
+ \ClassWarningNoLine{suftesi}{Option 'executivepaper' not available}}
+\DeclareOption{landscape}{%
+ \ClassWarningNoLine{suftesi}{Option 'landscape' not available}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
\ProcessOptions
\relax
@@ -258,7 +269,8 @@
\def\SUF@thepart{\Roman{part}}
\def\SUF@dotpart{.}
\fi}
-\define@choicekey{}{chapnumstyle}[\val\nr]{arabic,roman,Roman,dotarabic,dotroman,dotRoman}[arabic]{%
+\define@choicekey{}{chapnumstyle}[\val\nr]{arabic,roman,Roman,
+dotarabic,dotroman,dotRoman}[arabic]{%
\ifcase\nr\relax
\def\SUF@thechapter{\arabic{chapter}}
\def\SUF@dotchap{}
@@ -416,7 +428,6 @@
\define@choicekey{}{marginpar}[\val\nr]
{true,false}[true]{%
\ifcase\nr\relax
- \relax
\or
\renewcommand\marginpar[2][]{}
\fi}
@@ -440,7 +451,7 @@
palatino,standard}[palatino]{%
\ifcase\nr\relax
\or
- \suftesi@cmfonttrue
+ \suftesi@standardfonttrue
\setkeys{suftesi.cls}{greekfont=cbgreek}
\fi}
\define@choicekey{}{greekfont}[\val\nr]{%
@@ -449,6 +460,7 @@
\def\SUF@greekfamily{artemisiaeuler}
\or
\def\SUF@greekfamily{porson}
+\suftesi@porsontrue
\or
\def\SUF@greekfamily{lmr}
\fi}
@@ -471,18 +483,18 @@
\or
\suftesi@nocroptrue
\fi}
-\define@choicekey{}{titlepage}[\val\nr]
+\define@choicekey{}{draftdate}[\val\nr]
{true,false}[true]{%
\ifcase\nr\relax
- \@titlepagetrue
+ \suftesi@draftdatetrue
\or
- \@titlepagetrue
\fi}
-\define@choicekey{}{bozza}[\val\nr]
+\define@choicekey{}{titlepage}[\val\nr]
{true,false}[true]{%
\ifcase\nr\relax
- \suftesi@bozzatrue
+ \@titlepagetrue
\or
+ \@titlepagefalse
\fi}
\define@choicekey{}{style}[\val\nr]
{roman1,roman2,roman3,roman4,roman5,roman6,
@@ -572,8 +584,8 @@
{headerstyle,chapstyle,secfont,subsecfont}
\fi}
\ExecuteOptionsX<>{
- marginpar=true,
captionstyle=standard,
+ marginpar=true,
parindent=compact,
tocstyle=standard,
greekfont=artemisia,
@@ -598,20 +610,53 @@
partnumstyle=Roman,
chapnumstyle=arabic}
\ProcessOptionsX<>\relax
+\XKV@useoption{style=roman1} \XKV@useoption{style=roman2}
+\XKV@useoption{style=roman3} \XKV@useoption{style=roman4}
+\XKV@useoption{style=roman5} \XKV@useoption{style=roman6}
+\XKV@useoption{style=italic1} \XKV@useoption{style=italic2}
+\XKV@useoption{style=italic3} \XKV@useoption{style=italic4}
+\XKV@useoption{style=italic5} \XKV@useoption{style=italic6}
+\XKV@useoption{style=italic7} \XKV@useoption{style=italic8}
+\XKV@useoption{style=italic9} \XKV@useoption{style=italic10}
+\XKV@useoption{style=italic11} \XKV@useoption{style=italic12}
+\XKV@useoption{style=smallcaps1} \XKV@useoption{style=smallcaps2}
+\XKV@useoption{style=smallcaps3} \XKV@useoption{style=smallcaps4}
+\XKV@useoption{style=smallcaps5} \XKV@useoption{style=smallcaps6}
+\XKV@useoption{style=smallcaps7} \XKV@useoption{style=smallcaps8}
+\XKV@useoption{style=smallcaps9} \XKV@useoption{style=smallcaps10}
+\XKV@useoption{style=smallcaps11} \XKV@useoption{style=smallcaps12}
+\XKV@useoption{style=elements} \XKV@useoption{style=sufelements}
+\XKV@useoption{captionstyle=standard}\XKV@useoption{captionstyle=elements}
+\XKV@useoption{pagelayout=standard} \XKV@useoption{pagelayout=periodical}
+\XKV@useoption{pagelayout=compact} \XKV@useoption{pagelayout=supercompact}
+\XKV@useoption{pagelayout=elements}
+\XKV@useoption{liststyle=bulged} \XKV@useoption{liststyle=indented}
+\XKV@useoption{liststyle=aligned}
+\XKV@useoption{10pt} \XKV@useoption{11pt}
+\XKV@useoption{12pt}
+\XKV@useoption{oneside} \XKV@useoption{twoside}
+\XKV@useoption{onecolumn} \XKV@useoption{twocolumn}
+\XKV@useoption{titlepage} \XKV@useoption{notitlepage}
+\XKV@useoption{openright} \XKV@useoption{openany}
+\XKV@useoption{leqno} \XKV@useoption{fleqn}
+\XKV@useoption{a5paper} \XKV@useoption{b5paper}
+\XKV@useoption{legalpaper} \XKV@useoption{executivepaper}
+\XKV@useoption{landscape}
\RequirePackage{color}
\definecolor{sufred}{rgb}{0.5,0,0}
\definecolor{sufgray}{rgb}{0.5,0.5,0.5}
\RequirePackage{multicol}
\RequirePackage{emptypage}
\RequirePackage{textcase}
-\RequirePackage{ifxetex,ifluatex}
+\RequirePackage{ifxetex}
\ifxetex
- \relax
- \else
+ \relax
+ \else
\RequirePackage{microtype}
\RequirePackage[LGR,T1]{fontenc}
\AtBeginDocument{\fontencoding{T1}\selectfont}
-\ifsuftesi@cmfont
+\ifsuftesi@standardfont
+ \RequirePackage{lmodern}
\relax
\else
\RequirePackage[osf,sc]{mathpazo}
@@ -621,8 +666,12 @@
\ifsuftesi@porson
\sbox\z@{\fontsize{10}{10}\normalfont A}
\sbox\tw@{\font\temp=gporsonrg6a at 10pt \temp A}
-\dimen@=
-\dimexpr(0.001\dimexpr\numexpr(\dimexpr(1000\ht\z@)/\ht\tw@)\p@)
+\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}{}
@@ -638,8 +687,8 @@
\fi
\AtBeginDocument{
\DeclareRobustCommand{\greektext}{%
- \fontencoding{LGR}\fontfamily{\SUF@greekfamily}\selectfont
- \def\encodingdefault{LGR}}}
+ \usefont{LGR}{\SUF@greekfamily}{\f@series}{\f@shape}}%
+ \DeclareTextFontCommand{\textgreek}{\greektext}}
\fi
\ifsuftesi@nocrop
\relax
@@ -975,7 +1024,6 @@
\protect\ClassWarningNoLine{suftesi}{%
No \string\author\space given\MessageBreak%
See the class documentation for explanation}}
-\let\standardtitle\maketitle
\if@titlepage% titlepage
\renewcommand\maketitle{\begin{titlepage}%
\let\footnotesize\small
@@ -1016,8 +1064,34 @@
\global\let\@thanks\@empty
\global\let\@date\@empty
\global\let\date\relax
- \global\let\and\relax
-}
+ \global\let\and\relax}
+\newcommand\standardtitle{\begin{titlepage}%
+ \let\footnotesize\small
+ \let\footnoterule\relax
+ \let \footnote \thanks
+ \null\vfil
+ \vskip 60\p@
+ \begin{center}%
+ {\LARGE \@title \par}%
+ \vskip 3em%
+ {\large
+ \lineskip .75em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1.5em%
+ {\large \@date \par}% % Set date in \large size.
+ \end{center}\par
+ \@thanks
+ \vfil\null
+ \end{titlepage}%
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@date\@empty
+ \global\let\date\relax
+ \global\let\and\relax}
\else
\renewcommand\maketitle{\par
\begingroup
@@ -1077,6 +1151,52 @@
\end{center}%
\par
\vskip 1.5em}
+\newcommand\standardtitle{\par
+ \begingroup
+ \renewcommand\thefootnote{\@fnsymbol\c@footnote}%
+ \def\@makefnmark{\rlap{\@textsuperscript{\normalfont\@thefnmark}}}%
+ \long\def\@makefntext##1{\parindent 1em\noindent
+ \hb@xt@1.8em{%
+ \hss\@textsuperscript{\normalfont\@thefnmark}}##1}%
+ \if@twocolumn
+ \ifnum \col@number=\@ne
+ \@standardmaketitle
+ \else
+ \twocolumn[\@standardmaketitle]%
+ \fi
+ \else
+ \newpage
+ \global\@topnum\z@ % Prevents figures from going at top of page.
+ \@standardmaketitle
+ \fi
+ \thispagestyle{plain}\@thanks
+ \endgroup
+ \setcounter{footnote}{0}%
+ \global\let\thanks\relax
+ \global\let\maketitle\relax
+ \global\let\@standardmaketitle\relax
+ \global\let\@thanks\@empty
+ \global\let\@date\@empty
+ \global\let\date\relax
+ \global\let\and\relax}
+\def\@standardmaketitle{%
+ \newpage
+ \null
+ \vskip 2em%
+ \begin{center}%
+ \let \footnote \thanks
+ {\LARGE \@title \par}%
+ \vskip 1.5em%
+ {\large
+ \lineskip .5em%
+ \begin{tabular}[t]{c}%
+ \@author
+ \end{tabular}\par}%
+ \vskip 1em%
+ {\large \@date}%
+ \end{center}%
+ \par
+ \vskip 1.5em}
\fi
\AtBeginDocument{%
\@ifpackagewith{frontespizio}{suftesi}
@@ -1222,12 +1342,12 @@
\fancypagestyle{sufplain}{%
\fancyhf{}%
\fancyfoot[RE,LO]{%
- \ifsuftesi@bozza\footnotesize\SUF@versionstring\else\fi}
+ \ifsuftesi@draftdate\footnotesize\SUF@versionstring\else\fi}
\fancyfoot[C]{\footnotesize\SUF@thepage}}
\fancypagestyle{centerheader}{%
\fancyhf{}%
\fancyfoot[RE,LO]{%
- \ifsuftesi@bozza\footnotesize\SUF@versionstring\else\fi}
+ \ifsuftesi@draftdate\footnotesize\SUF@versionstring\else\fi}
\fancyhead[CO]{\footnotesize\xheadbreakfalse\SUF@rightmark}
\fancyhead[CE]{\footnotesize\xheadbreakfalse%
\SUF@LR@MarkSwitch}
@@ -1236,7 +1356,7 @@
\fancypagestyle{sufdefault}{%
\fancyhf{}%
\fancyfoot[RE,LO]{%
- \ifsuftesi@bozza\footnotesize\SUF@versionstring\else\fi}
+ \ifsuftesi@draftdate\footnotesize\SUF@versionstring\else\fi}
\fancyhead[LE,RO]{\footnotesize\SUF@thepage}
\fancyhead[LO]{\footnotesize\xheadbreakfalse\SUF@rightmark}
\fancyhead[RE]{\footnotesize\xheadbreakfalse%