diff options
author | Karl Berry <karl@freefriends.org> | 2016-07-05 21:39:42 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-07-05 21:39:42 +0000 |
commit | 2fb347ba645d1206714d176309b4ec87e5164b0a (patch) | |
tree | 493d5e2806d2f77ec2f74188d40e2eda3ccb8ed9 /Master/texmf-dist/tex/latex/ycbook | |
parent | eadac6a4b811db258d2b4d5dd4dec4fb0551ca4d (diff) |
ycbook (5jul16)
git-svn-id: svn://tug.org/texlive/trunk@41636 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ycbook')
-rw-r--r-- | Master/texmf-dist/tex/latex/ycbook/ycbook.cls | 527 |
1 files changed, 476 insertions, 51 deletions
diff --git a/Master/texmf-dist/tex/latex/ycbook/ycbook.cls b/Master/texmf-dist/tex/latex/ycbook/ycbook.cls index 83dffdfab6e..08e561afccd 100644 --- a/Master/texmf-dist/tex/latex/ycbook/ycbook.cls +++ b/Master/texmf-dist/tex/latex/ycbook/ycbook.cls @@ -1,4 +1,4 @@ - %% br-lex.cls + %% yc-book.cls %% Copyright (c) Youssef Cherem <ycherem(at)gmail.com>, 2016 % % This work may be distributed and/or modified under the @@ -13,13 +13,12 @@ % % The Current Maintainer of this work is Youssef Cherem. % - % This work consists of the files ycbook.cls and ycbook-doc.tex, and the files compiled therefrom: - % ycbook.pdf and ycbook-doc.pdf + % This work consists of the files ycbook.cls, ycbook-doc.tex, and ycbook-doc.pdf \NeedsTeXFormat{LaTeX2e} -\ProvidesClass{ycbook}[2016/05/23 ycbook class] +\ProvidesClass{ycbook}[2016/07/04 ycbook class] \LoadClassWithOptions{mwbk} @@ -58,9 +57,25 @@ %%%%%% +%\DeclareSectioningCommand[breakbefore,breakafter,wholewidth]{part}{-1} +%{0\p@ plus1fil} +%{\FormatChapterHeading{20\p@}% +% {\centering\large\partname\space}% +% {\centering\LARGE}} +%{0\p@ plus1fil} + + %%%% OPTIONS %%%%% +\SetSectionFormatting[breakbefore,breakafter,wholewidth]{part} +{0pt plus1pt} +{\FormatChapterHeading{20pt}% + {\centering\Large\partname\space}% + {\centering\LARGE}} +{0pt plus1pt} + + \DeclareOption{chapterrule}{\SetSectionFormatting[breakbefore,wholewidth]{chapter} {56pt plus8pt minus4pt}%espaço antes do capítulo {\Large\textbf{\ifHeadingNumbered @@ -250,7 +265,6 @@ %%%%%%%%%% -\DeclareOption{myheadings}{% \def\ps@myheadings{% \let\ps@normal\hf@headings \let\ps@opening\hf@plain @@ -261,11 +275,10 @@ \let\chaptermark\@gobble \let\sectionmark\@gobble } -\pagestyle{myheadings} -} -\DeclareOption{myheadings=beforeplain}{% - \def\ps@myheadings{% + + + \def\ps@myheadingsbeforeplain{% \let\ps@normal\hf@headings \let\ps@opening\hf@plain \let\ps@closing\hf@plain @@ -275,41 +288,176 @@ \let\chaptermark\@gobble \let\sectionmark\@gobble } - \pagestyle{myheadings} -} %The macro \@chapapp is initially defined to expand to \chaptername, but \appendix redefines it to be \appendixname. %%for headings:%%%% -\DeclareOption{headings}{% -\renewcommand\ps@headings{% +\if@twoside +\def\ps@headings{% + \let\@mkboth\@gobbletwo + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter + \let\ps@blank\hf@empty + \ps@normal + \def\chaptermark##1{% + \markboth{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter.\enspace + \fi + \fi + ##1}{}}% + \def\sectionmark##1{% + \markright{% + \ifHeadingNumbered \thesection.\enspace \fi + ##1}}} +\else +\def\ps@headings{% \let\@mkboth\@gobbletwo \let\ps@normal\hf@headings \let\ps@opening\hf@plain \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter \let\ps@blank\hf@empty - \ps@normal} + \ps@normal + \def\chaptermark##1{% + \markright{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter.\enspace + \fi + \fi + ##1}}} +\fi -\pagestyle{headings} -} -\DeclareOption{headings=beforeplain}{% - - \renewcommand\ps@headings{% - \let\@mkboth\@gobbletwo - \let\ps@normal\hf@headings - \let\ps@opening\hf@plain - \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter - \let\ps@blank\hf@plain - \ps@normal} - - \pagestyle{headings} -} +\if@twoside +\def\ps@headingsnodot{% + \let\@mkboth\@gobbletwo + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter + \let\ps@blank\hf@empty + \ps@normal + \def\chaptermark##1{% + \markboth{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter\enspace + \fi + \fi + ##1}{}}% + \def\sectionmark##1{% + \markright{% + \ifHeadingNumbered \thesection\enspace \fi + ##1}}} +\else +\def\ps@headingsnodot{% + \let\@mkboth\@gobbletwo + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter + \let\ps@blank\hf@empty + \ps@normal + \def\chaptermark##1{% + \markright{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter\enspace + \fi + \fi + ##1}}} +\fi +\if@twoside +\def\ps@headingsbeforeplain{% + \let\@mkboth\@gobbletwo + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter + \let\ps@blank\hf@plain + \ps@normal + \def\chaptermark##1{% + \markboth{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter.\enspace + \fi + \fi + ##1}{}}% + \def\sectionmark##1{% + \markright{% + \ifHeadingNumbered \thesection.\enspace \fi + ##1}}} +\else +\def\ps@headingsbeforeplain{% + \let\@mkboth\@gobbletwo + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter + \let\ps@blank\hf@plain + \ps@normal + \def\chaptermark##1{% + \markright{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter.\enspace + \fi + \fi + ##1}}} +\fi + + +\if@twoside +\def\ps@headingsbeforeplainnodot{% + \let\@mkboth\@gobbletwo + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter + \let\ps@blank\hf@plain + \ps@normal + \def\chaptermark##1{% + \markboth{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter\enspace + \fi + \fi + ##1}{}}% + \def\sectionmark##1{% + \markright{% + \ifHeadingNumbered \thesection\enspace \fi + ##1}}} +\else +\def\ps@headingsbeforeplainnodot{% + \let\@mkboth\@gobbletwo + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings %% <-- this was @empty, now @headings!!! use this for page numbers and headings to appear on even pages before new chapter + \let\ps@blank\hf@plain + \ps@normal + \def\chaptermark##1{% + \markright{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter\enspace + \fi + \fi + ##1}}} +\fi + \if@twoside \def\ps@uheadings{% @@ -363,13 +511,77 @@ +\if@twoside +\def\ps@uheadingsnodot{% + \let\@mkboth\markboth + \let\ps@normal\hf@uheadings + \let\ps@opening\hf@plain + \let\ps@closing\hf@uheadings + \let\ps@blank\hf@empty + \ps@normal + \def\chaptermark##1{% + \markboth{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter\enspace + \fi + \fi + ##1}{}}% + \def\sectionmark##1{% + \markright{% + \ifHeadingNumbered \thesection\enspace \fi + ##1}}} +\else +\def\ps@uheadingsnodot{% + \let\@mkboth\markboth + \let\ps@normal\hf@uheadings + \let\ps@opening\hf@plain + \let\ps@closing\hf@uheadings + \let\ps@blank\hf@empty + \ps@normal + \def\chaptermark##1{% + \markright{% + \ifHeadingNumbered + \if@mainmatter + \@chapapp\ + \thechapter\enspace + \fi + \fi + ##1}}} +\fi +%\def\ps@myuheadingsnodot{% +% \let\ps@normal\hf@uheadings +% \let\ps@opening\hf@plain +% \let\ps@closing\hf@uheadings +% \let\ps@blank\hf@empty +% \ps@normal +% \let\@mkboth\@gobbletwo +% \let\chaptermark\@gobble +% \let\sectionmark\@gobble + +%%% to add color to sepline +%\renewcommand*\hf@uheadings{% +% \def\@oddhead{\vtop{% +% \hb@xt@\textwidth{% +% \reset@font{\heading@font\rightmark}\hfil\thepage\strut}% +% \vskip2pt{\color{JungleGreen}\hrule}\vskip-2.4pt}}% +% \let\@oddfoot\@empty +% \def\@evenhead{\vtop{% +% \hb@xt@\textwidth{% +% \reset@font\strut\thepage\hfil\heading@font\leftmark}% +% \vskip2pt{\color{JungleGreen}\hrule}\vskip-2.4pt}}% +% \let\@evenfoot\@empty +%} + + \DeclareOption*{\PassOptionsToClass{\CurrentOption}{mwbk}} \DeclareOption{sansserifnotes}{%marginpar to sans serif - \let\oldmarginpar\marginpar - \renewcommand{\marginpar}[1]{\oldmarginpar{\footnotesize \raggedright \sffamily#1}} +% \let\oldmarginpar\marginpar +% \renewcommand{\marginpar}[1]{\oldmarginpar{\footnotesize \raggedright \sffamily#1}} %footnote to sans serif \let\oldfootnote\footnote @@ -382,21 +594,213 @@ } -%\PassOptionsToClass{withmarginpar}{mwbk} - -\DeclareOption{toc}{% -%%% you can use this package. says there is an error, but it works nonetheless%%% -\AtEndOfClass{\RequirePackage[tocgraduated]{tocstyle}}%\AtEndOfClass -- important -%\usetocstyle{nopagecolumn} -\ClassWarning{ycbook}{'toc' option implemented by the 'tocstyle' package. You can use this package. says there is an error, but it works nonetheless.} +\DeclareOption{nodots}{ +\renewcommand*\@seccntformat[1]{\csname the#1\endcsname\enspace} +\def\mw@seccntformat#1{#1\enspace} } +%%%%%%%%%%%% end of nodots option %%%%%%%%%%%%%%%% + + + \ExecuteOptions{headings,chapterleft} \ProcessOptions\relax +\RequirePackage{titletoc} + + + +%\titlecontents{chapter}[1em]{\addvspace{1pc}\bfseries}{\contentslabel{1em}}{} +%{\titlerule*[0.3pc]{.}\contentspage} + +%\titlecontents{chapter} +%[0pt] +%{\addvspace{1pc}% +% \itshape}% +%{\contentsmargin{0pt}% +% \bfseries +% \makebox[0pt][r]{\huge\thecontentslabel\enspace}% +% \large} +%{\contentsmargin{0pt}% +% \large} +%{\quad\thepage} +%[\addvspace{.5pc}] + +%%%%% FANCY TOC %%%%%%%%% + +%double all #1 like ##1 if it's inside another definition + +%%%%original changed: + +%\renewcommand*\l@part[2]{% +% \ifnum \c@tocdepth >-2\relax +% \mw@tocskip{-1}{.6\baselineskip}% +% \begingroup +% \parindent \z@ \rightskip \@pnumwidth +% \parfillskip -\@pnumwidth +% {\leavevmode%\normalsize\normalfont +% \bfseries +% \let\numberline\partnumberline % <--- added +% \centering \Large #1\par +% } +% \nobreak +% \global\@nobreaktrue +% \everypar{\global\@nobreakfalse\everypar{}}% +% \endgroup +% \addvspace{.4\baselineskip}% +% \fi} +%\def\partnumberline#1{\@partnumberline#1\@nil} +%\def\@partnumberline#1.#2\@nil{\partname\ #1\\\large\itshape}% + + +\newcommand{\fancytoc}{% +% \renewcommand*\l@part[2]{% +% \ifnum \c@tocdepth >-2\relax +% \mw@tocskip{-1}{.6\baselineskip}% +% \begingroup +% \parindent \z@ \rightskip \@pnumwidth +% \parfillskip -\@pnumwidth +% {\leavevmode%\normalsize\normalfont +% \bfseries +% \let\numberline\partnumberline % <--- added +% \centering \Large ##1\par +% } +% \nobreak +% \global\@nobreaktrue +% \everypar{\global\@nobreakfalse\everypar{}}% +% \endgroup +% \addvspace{.4\baselineskip}% +% \fi} +% \def\partnumberline##1{\@partnumberline##1\@nil} +% \def\@partnumberline##1.##2\@nil{\partname\ ##1\\\large\itshape}% + + \titlecontents{part} + [0pt] + {\addvspace{2pc}% + \bfseries\centering}% + {\contentsmargin{0pt}% + \bfseries + \huge Parte~\thecontentslabel + \\[12pt]% + \Large\itshape} + {\contentsmargin{0pt}% + \huge} + {\quad\contentspage} + [\addvspace{.5pc}] + + \titlecontents{chapter} + [0pt] + {\addvspace{1pc}% + \itshape}% + {\contentsmargin{0pt}% + %\bfseries + \large\thecontentslabel\enspace% + } + {\contentsmargin{0pt}% + \itshape\large} + {\quad\contentspage} + [\addvspace{.5pc}]% + + % + %\titlecontents{section} + %[3.8em] % ie, 1.5em (chapter) + 2.3em + %{} + %{\contentslabel{2.3em}} + %{\hspace*{-2.3em}} + %{\titlerule*[1pc]{.}\contentspage} + + \titlecontents{section} + [3.4em] % ie, 1.5em (chapter) + 2.3em + {} + {\contentslabel{2em}\enspace\enspace} + {\hspace*{-2.3em}\enspace} + {\quad\contentspage}% + + \titlecontents{subsection} + [6.6em] % ie, 1.5em (chapter) + 2.3em + {} + {\contentslabel{2.3em}\enspace\enspace} + {\hspace*{-2.3em}\enspace} + {\quad\contentspage}% + + \titlecontents{subsubsection} + [8.9em] % ie, 1.5em (chapter) + 2.3em + {} + {\contentslabel{2.3em}\enspace\enspace} + {\hspace*{-2.3em}\enspace} + {\quad\contentspage}% + + + \titlecontents{figure} + [0pt] % ie, 1.5em (chapter) + 2.3em + {} + {\contentslabel{2.3em}\enspace} + {\hspace*{-2.3em}\enspace} + {\quad\contentspage} + + \titlecontents{table} + [0pt] % ie, 1.5em (chapter) + 2.3em + {} + {\contentslabel{2.3em}\enspace} + {\hspace*{-2.3em}\enspace} + {\quad\contentspage} + + + %%%%%%% end part in toc %%%%%%%% +} + +%For the parameters of a definition inside a definition you need to double the hash char: +% +%\renewcommand\appendix{\par +% \def\@makechapterhead##1{% +% ... ##1 ... +% }% +% ... +%} +%from http://tex.stackexchange.com/questions/62438/how-to-add-leaders-to-table-of-contents-without-tocloft/62441#62441 + +\newcommand{\traditionaltoc}{ + + \renewcommand*\l@part[2]{% + \ifnum \c@tocdepth >-2\relax + \addpenalty{-\@highpenalty}% + \addvspace{2.25em \@plus\p@}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + {\leavevmode + \large \bfseries ##1\hfil \hb@xt@\@pnumwidth{\hss ##2}}\par + \nobreak + \global\@nobreaktrue + \everypar{\global\@nobreakfalse\everypar{}}% + \endgroup + \fi} + + + \renewcommand*\l@chapter[2]{% + \ifnum \c@tocdepth >\m@ne + \addpenalty{-\@highpenalty}% + \vskip 1.0em \@plus\p@ + \setlength\@tempdima{1.5em}% + \begingroup + \parindent \z@ \rightskip \@pnumwidth + \parfillskip -\@pnumwidth + \leavevmode \bfseries + \advance\leftskip\@tempdima + \hskip -\leftskip + ##1\nobreak + \xleaders\hbox{$\m@th + \mkern \@dotsep mu\hbox{.}\mkern \@dotsep + mu$}\hfill% + \nobreak\hb@xt@\@pnumwidth{\hss ##2}\par + \penalty\@highpenalty + \endgroup + \fi} + } + \RequirePackage{ifxetex} \ifxetex \RequirePackage{fontspec} @@ -428,7 +832,7 @@ -%\setlength{\marginparwidth}{1.3in} + % remove toc, list of figures and list of tables from table of contents @@ -453,9 +857,9 @@ %%% para notas sempre à direita. %%%http://tex.stackexchange.com/questions/69595/marginnote-always-on-right-side-of-the-page -\RequirePackage{etoolbox} -\patchcmd{\@addmarginpar}{\ifodd\c@page}{\ifodd\c@page\@tempcnta\m@ne}{}{} -\reversemarginpar +%\RequirePackage{etoolbox} +%\patchcmd{\@addmarginpar}{\ifodd\c@page}{\ifodd\c@page\@tempcnta\m@ne}{}{} +%\reversemarginpar \frenchspacing @@ -463,15 +867,15 @@ %%%% uso econômico de espaços%%%% - \renewcommand\floatpagefraction{.99} % 9 before - \renewcommand\dblfloatpagefraction{.99} % for two column documents - \renewcommand\topfraction{.99} - \renewcommand\dbltopfraction{.99} % for two column documents - \renewcommand\bottomfraction{.99} - \renewcommand\textfraction{.01} %1 before - \setcounter{totalnumber}{1} % 50 before - \setcounter{topnumber}{1} - \setcounter{bottomnumber}{1} + \renewcommand\floatpagefraction{.9} + \renewcommand\dblfloatpagefraction{.9} % for two column documents + \renewcommand\topfraction{.9} + \renewcommand\dbltopfraction{.9} % for two column documents + \renewcommand\bottomfraction{.9} + \renewcommand\textfraction{.1} + \setcounter{totalnumber}{50} + \setcounter{topnumber}{50} + \setcounter{bottomnumber}{50} %\setcounter{totalnumber}{1} %\setcounter{topnumber}{1} @@ -481,6 +885,27 @@ %\renewcommand{\textfraction}{.01} +%%%% margins in two-side + + +\if@marginparsused +\setlength\marginparsep{1cc} +\addtolength\oddsidemargin{-1cc} +\addtolength\evensidemargin{5.5cc} +\setlength{\marginparwidth}{1.3in} +\setlength\marginparpush{.5\baselineskip} +\else +\setlength\marginparsep{0cc} +\setlength\marginparwidth{0cc} +\def\marginpar{\ClassError{mwcls}{Marginpars are disabled by + default in this class.\MessageBreak Use `withmarginpar' + option to enable}{}\global\let\marginpar\@gobble} +\fi + + + + + %%%%%% TWO PAGE PICTURE %%%%%%%% %%%% from: http://tex.stackexchange.com/questions/23860/how-to-include-a-picture-over-two-pages-left-part-on-left-side-right-on-right %%% Thanks to Martin Scharrer @@ -625,4 +1050,4 @@ -\endinput
\ No newline at end of file +\endinput |