summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ycbook/ycbook.cls
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-07-05 21:39:42 +0000
committerKarl Berry <karl@freefriends.org>2016-07-05 21:39:42 +0000
commit2fb347ba645d1206714d176309b4ec87e5164b0a (patch)
tree493d5e2806d2f77ec2f74188d40e2eda3ccb8ed9 /Master/texmf-dist/tex/latex/ycbook/ycbook.cls
parenteadac6a4b811db258d2b4d5dd4dec4fb0551ca4d (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/ycbook.cls')
-rw-r--r--Master/texmf-dist/tex/latex/ycbook/ycbook.cls527
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