diff options
author | Karl Berry <karl@freefriends.org> | 2012-10-18 22:39:24 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-10-18 22:39:24 +0000 |
commit | 53f4514f079fc23ae33a1a1aa730e83203bc2ef5 (patch) | |
tree | bc53cf06e1557ce1798ceeb96facb4a21f02d088 /Master/texmf-dist/tex/latex/suftesi | |
parent | dfee8c21fa1b6c00891bec9d201ef488c400bdd5 (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.cls | 172 |
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% |