diff options
author | Karl Berry <karl@freefriends.org> | 2016-03-15 21:24:26 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2016-03-15 21:24:26 +0000 |
commit | 2592f76b0b06d4e122b0fd96f45081a697a073b4 (patch) | |
tree | 2fada47ee7cdc9d966c6279c504481a5bb50f085 /Master/texmf-dist/tex | |
parent | 0a991401296aa91b41e4419c60e41af18dea5836 (diff) |
ycbook (15mar16)
git-svn-id: svn://tug.org/texlive/trunk@40034 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/ycbook/ycbook.cls | 586 |
1 files changed, 586 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ycbook/ycbook.cls b/Master/texmf-dist/tex/latex/ycbook/ycbook.cls new file mode 100644 index 00000000000..ba84993e7be --- /dev/null +++ b/Master/texmf-dist/tex/latex/ycbook/ycbook.cls @@ -0,0 +1,586 @@ + %% br-lex.cls + %% Copyright (c) Youssef Cherem <ycherem(at)gmail.com>, 2016 + % + % This work may be distributed and/or modified under the + % conditions of the LaTeX Project Public License, either version 1.3c + % of this license or (at your option) any later version. + % The latest version of this license is in + % http://www.latex-project.org/lppl.txt + % and version 1.3 or later is part of all distributions of LaTeX + % version 2005/12/01 or later. + % + % This work has the LPPL maintenance status `maintained'. + % + % 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 + + + +\NeedsTeXFormat{LaTeX2e} +\ProvidesClass{ycbook}[2016/03/14 ycbook class] + +\LoadClassWithOptions{mwbk} + + +%\SetSectionFormatting{section} +%{24pt plus5pt minus2pt} +%{\large\textbf{\ifHeadingNumbered +% \HeadingNumber\enspace\fi %retirei o ponto +% \HeadingText}} +%{10pt plus3pt} + +%default section definitions, keep for future work +%\DeclareSectioningCommand{section}{1} +%{24\p@\@plus5\p@\@minus2\p@} +%{\FormatHangHeading{\large}} +%{10\p@\@plus3\p@} +%\DeclareSectioningCommand{subsection}{2} +%{16\p@\@plus4\p@\@minus1\p@} +%{\FormatHangHeading{}} +%{6\p@\@plus2\p@} +%\DeclareSectioningCommand{subsubsection}{3} +%{10\p@\@plus2\p@\@minus1\p@} +%{\FormatHangHeading{}} +%{4\p@\@plus1\p@} +%\DeclareSectioningCommand[runin]{paragraph}{4} +%{\bigskipamount} +%{\FormatRunInHeading{}} +%{.5em} + +%original declaration and spaces + +%\DeclareSectioningCommand[breakbefore,wholewidth]{chapter}{0} +%{56pt} +%{\FormatChapterHeading{12pt}{\large\@chapapp\space}{\LARGE}} +%{24pt} +%%%%%% + + +%%%% OPTIONS %%%%% + + +\DeclareOption{chapterrule}{\SetSectionFormatting[breakbefore,wholewidth]{chapter} + {56pt plus8pt minus4pt}%espaço antes do capítulo + {\Large\textbf{\ifHeadingNumbered + \HeadingNumber.\enspace\fi % pode retirar o ponto daqui^: \HeadingNumber.\enspace\fi para não ficar com ponto depois do número da seção + \HeadingText}\\\rule[12pt]{\hsize}{0.4pt}%\thispagestyle{plain} + } %\hsize=horizontal size of the text... + {24pt plus9pt}%espaço depois do capítulo + } + + +\DeclareOption{sectionrule}{% + \SetSectionFormatting{section} + {24pt plus5pt minus2pt} + {\large\textbf{\ifHeadingNumbered + \HeadingNumber.\enspace\fi %deixei o ponto + \HeadingText}\\\rule[10pt]{\hsize}{0.4pt}} + {10pt plus3pt} + } + + +%\FormatRigidChapterHeading{hwysi}{hodstępi}{hdekl numi}{hdekl tyti} + + +\DeclareOption{chaptercentered}{% +\SetSectionFormatting[breakbefore,wholewidth]{chapter} +{12pt} +{\FormatChapterHeading{0pt}%additional space between label and chapter title + {\centering\LARGE \@chapapp \space}{\Huge\centering}} +{24pt plus6pt} + +\renewcommand*\chapter@toc{% + \ifHeadingNumbered\typeout{\@chapapp\space\thechapter.}%\fi + \addcontentsline{toc}{chapter}{% + %\ifHeadingNumbered + \mw@seccntformat{\@chapapp\ \HeadingNumber}\HeadingTOCText% + %\fi + }\fi %added \fi here + %\addtocontents{lof}{\protect\addvspace{10\p@}}% + %\addtocontents{lot}{\protect\addvspace{10\p@}}% +} + +} + +\DeclareOption{chapterleft}{% + \SetSectionFormatting[breakbefore,wholewidth]{chapter} + {12pt} + {\FormatChapterHeading{0pt}% + {\LARGE \@chapapp \space}{\Huge}} + {24pt plus6pt} + +\renewcommand*\chapter@toc{% + \ifHeadingNumbered\typeout{\@chapapp\space\thechapter.}%\fi + \addcontentsline{toc}{chapter}{% + %\ifHeadingNumbered + \mw@seccntformat{\@chapapp\ \HeadingNumber}\HeadingTOCText% + %\fi + }\fi %added \fi here + %\addtocontents{lof}{\protect\addvspace{10\p@}}% + %\addtocontents{lot}{\protect\addvspace{10\p@}}% +} + +} + +\DeclareOption{chapterright}{% + \SetSectionFormatting[breakbefore,wholewidth]{chapter} + {12pt} + {\FormatChapterHeading{0pt}% + {\flushright\LARGE \@chapapp \space}{\flushright\Huge}} + {24pt plus6pt} + +\renewcommand*\chapter@toc{% + \ifHeadingNumbered\typeout{\@chapapp\space\thechapter.}%\fi + \addcontentsline{toc}{chapter}{% + %\ifHeadingNumbered + \mw@seccntformat{\@chapapp\ \HeadingNumber}\HeadingTOCText% + %\fi + }\fi %added \fi here + %\addtocontents{lof}{\protect\addvspace{10\p@}}% + %\addtocontents{lot}{\protect\addvspace{10\p@}}% +} + +} + +%%%%%%%% + +\DeclareOption{nochaptercentered}{\SetSectionFormatting[breakbefore,wholewidth]{chapter} + {12pt} + {\centering\LARGE\textbf{\ifHeadingNumbered + \HeadingNumber.\enspace\fi % tirei o ponto daqui^: \HeadingNumber.\enspace\fi para não ficar com ponto depois do número da seção + \HeadingText}%\\\rule[12pt]{\hsize}{0.4pt}%\thispagestyle{plain} + } %\hsize=horizontal size of the text... + {24pt plus9pt} + +\renewcommand*\chapter@toc{% + \ifHeadingNumbered\typeout{\thechapter.}%\fi + \addcontentsline{toc}{chapter}{% + %\ifHeadingNumbered + \mw@seccntformat{\HeadingNumber}\HeadingTOCText% + %\fi + }\fi %added \fi here + %\addtocontents{lof}{\protect\addvspace{10\p@}}% + %\addtocontents{lot}{\protect\addvspace{10\p@}}% +} +} + +\DeclareOption{nochapterleft}{\SetSectionFormatting[breakbefore,wholewidth]{chapter} + {12pt} + {\LARGE\textbf{\ifHeadingNumbered + \HeadingNumber.\enspace\fi % tirei o ponto daqui^: \HeadingNumber.\enspace\fi para não ficar com ponto depois do número da seção + \HeadingText}%\\\rule[12pt]{\hsize}{0.4pt}%\thispagestyle{plain} + } %\hsize=horizontal size of the text... + {24pt plus9pt} + +\renewcommand*\chapter@toc{% + \ifHeadingNumbered\typeout{\thechapter.}%\fi + \addcontentsline{toc}{chapter}{% + %\ifHeadingNumbered + \mw@seccntformat{\HeadingNumber}\HeadingTOCText% + %\fi + }\fi %added \fi here + %\addtocontents{lof}{\protect\addvspace{10\p@}}% + %\addtocontents{lot}{\protect\addvspace{10\p@}}% +} +} + +\DeclareOption{nochapterright}{\SetSectionFormatting[breakbefore,wholewidth]{chapter} + {12pt} + {\flushright \LARGE\textbf{\ifHeadingNumbered + \HeadingNumber.\enspace\fi % tirei o ponto daqui^: \HeadingNumber.\enspace\fi para não ficar com ponto depois do número da seção + \HeadingText}%\\\rule[12pt]{\hsize}{0.4pt}%\thispagestyle{plain} + } %\hsize=horizontal size of the text... + {24pt plus9pt} + +\renewcommand*\chapter@toc{% + \ifHeadingNumbered\typeout{\thechapter.}%\fi + \addcontentsline{toc}{chapter}{% + %\ifHeadingNumbered + \mw@seccntformat{\HeadingNumber}\HeadingTOCText% + %\fi + }\fi %added \fi here + %\addtocontents{lof}{\protect\addvspace{10\p@}}% + %\addtocontents{lot}{\protect\addvspace{10\p@}}% +} +} +%%%%%%%%%% + + +\DeclareOption{myheadings}{% +\def\ps@myheadings{% + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@headings + \let\ps@blank\hf@empty + \ps@normal + \let\@mkboth\@gobbletwo + \let\chaptermark\@gobble + \let\sectionmark\@gobble +} +\pagestyle{myheadings} +} + +\DeclareOption{myheadings=beforeplain}{% + \def\ps@myheadings{% + \let\ps@normal\hf@headings + \let\ps@opening\hf@plain + \let\ps@closing\hf@plain + \let\ps@blank\hf@plain + \ps@normal + \let\@mkboth\@gobbletwo + \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{% + \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} + +\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@uheadings{% + \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@uheadings{% + \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@myuheadings{% + \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 +} + + + + +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{mwbk}} + + +\DeclareOption{sansserifnotes}{%marginpar to sans serif + \let\oldmarginpar\marginpar + \renewcommand{\marginpar}[1]{\oldmarginpar{\footnotesize \raggedright \sffamily#1}} + + %footnote to sans serif + \let\oldfootnote\footnote + \renewcommand{\footnote}[1]{\oldfootnote{\sffamily#1}} + + %footnotemark to sans serif + \long\def\@makefnmark{% + \hbox {\@textsuperscript {\sffamily\@thefnmark}} + } + } + + +%\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.} +} + +\ExecuteOptions{headings,chapterleft} + +\ProcessOptions\relax + + + +\RequirePackage{ifxetex} +\ifxetex +\RequirePackage{fontspec} +\RequirePackage{polyglossia} +%dot below in xetex +\renewcommand{\d}[1] +{\hmode@bgroup + \o@lign{\relax#1\crcr\hidewidth\ltx@sh@ft{-1ex}.\hidewidth}\egroup} +\else +\RequirePackage[utf8]{inputenc} +\fi + +\RequirePackage{hyperref} + +\pdfstringdefDisableCommands{% + \let\enspace\empty % this causes the warning for \kern + \let\noindent\empty % this causes the warning for \indent +} + +%\RequirePackage{picinpar} + +%\RequirePackage[justification=raggedright,font={sf},labelfont=bf]{caption} +\RequirePackage[space,extendedchars]{grffile} % para inserir figuras com espaços no nome +\RequirePackage{graphicx} + +\RequirePackage{booktabs} + + + + + +%\setlength{\marginparwidth}{1.3in} + + +% remove toc, list of figures and list of tables from table of contents +% NEED TO TAKE CHAPTER NAME FROM TOC IN nochapterleft etc. options%%% +%\renewcommand*\chapter@toc{% +% \ifHeadingNumbered\typeout{\@chapapp\space\thechapter.}%\fi +% \addcontentsline{toc}{chapter}{% +% %\ifHeadingNumbered +% \mw@seccntformat{\@chapapp\ \HeadingNumber}\HeadingTOCText% +% %\fi +% }\fi %added \fi here +% %\addtocontents{lof}{\protect\addvspace{10\p@}}% +% %\addtocontents{lot}{\protect\addvspace{10\p@}}% +%} + +%to remove chaptername from toc with options nochapterX + + + +%\RequirePackage[side,ragged,flushmargin]{footmisc} %marginal coloca os números da nota de rodapé para fora da margem, à la Bringhurst, flushmargin: fundamental para notas na margem. + + +%%% 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 + + +\frenchspacing + + + %%%% 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} + +%\setcounter{totalnumber}{1} +%\setcounter{topnumber}{1} +%\setcounter{bottomnumber}{1} +%\renewcommand{\topfraction}{.99} +%\renewcommand{\bottomfraction}{.99} +%\renewcommand{\textfraction}{.01} + + +%%%%%% 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 + +\RequirePackage{adjustbox} +\RequirePackage{afterpage} +\RequirePackage{placeins} +\RequirePackage[strict]{changepage} + + + \newcommand*{\twopagepicture}[4]{% + \checkoddpage + \ifoddpage + \expandafter\@firstofone + \else + \expandafter\afterpage + \fi + {\afterpage{% + \if #1t% + \if #2p% + \thispagestyle{empty}% + \afterpage{\thispagestyle{empty}}% + \fi + \fi + \begin{figure}[#1] + \if #2p% + \if #1t% + \vspace*{-\dimexpr1in+\voffset+\topmargin+\headheight+\headsep\relax}% + \fi + \fi + \if #1b% + \caption{#4}% + \fi + \makebox[\textwidth][l]{% + \if #2p\relax + \let\mywidth\paperwidth + \hskip-\dimexpr1in+\hoffset+\evensidemargin\relax + \else + \let\mywidth\linewidth + \fi + \adjustbox{trim=0 0 {.5\width} 0,clip}{\includegraphics[width=2\mywidth]{#3}}}% + \if #1b\else + \caption{#4}% + \fi + \if #2p% + \if #1b% + \vspace*{-\dimexpr\paperheight-\textheight-1in-\voffset-\topmargin-\headheight-\headsep\relax}% + \fi + \fi + \end{figure}% + \begin{figure}[#1] + \if #2p% + \if #1t% + \vspace*{-\dimexpr1in+\voffset+\topmargin+\headheight+\headsep\relax}% + \fi + \fi + \makebox[\textwidth][l]{% + \if #2p% + \let\mywidth\paperwidth + \hskip-\dimexpr1in+\hoffset+\oddsidemargin\relax + \else + \let\mywidth\linewidth + \fi + \adjustbox{trim={.5\width} 0 0 0,clip}{\includegraphics[width=2\mywidth]{#3}}}% + \if #2p% + \if #1b% + \vspace*{-\dimexpr\paperheight-\textheight-1in-\voffset-\topmargin-\headheight-\headsep\relax}% + \fi + \fi + \end{figure}% + }}% +} + +%% for usage with \caption*{}%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +\newcommand*{\twopagepicturen}[4]{% + \checkoddpage + \ifoddpage + \expandafter\@firstofone + \else + \expandafter\afterpage + \fi + {\afterpage{% + \if #1t% + \if #2p% + \thispagestyle{empty}% + \afterpage{\thispagestyle{empty}}% + \fi + \fi + \begin{figure}[#1] + \if #2p% + \if #1t% + \vspace*{-\dimexpr1in+\voffset+\topmargin+\headheight+\headsep\relax}% + \fi + \fi + \if #1b% + \caption*{#4}% + \fi + \makebox[\textwidth][l]{% + \if #2p\relax + \let\mywidth\paperwidth + \hskip-\dimexpr1in+\hoffset+\evensidemargin\relax + \else + \let\mywidth\linewidth + \fi + \adjustbox{trim=0 0 {.5\width} 0,clip}{\includegraphics[width=2\mywidth]{#3}}}% + \if #1b\else + \caption*{#4}% + \fi + \if #2p% + \if #1b% + \vspace*{-\dimexpr\paperheight-\textheight-1in-\voffset-\topmargin-\headheight-\headsep\relax}% + \fi + \fi + \end{figure}% + \begin{figure}[#1] + \if #2p% + \if #1t% + \vspace*{-\dimexpr1in+\voffset+\topmargin+\headheight+\headsep\relax}% + \fi + \fi + \makebox[\textwidth][l]{% + \if #2p% + \let\mywidth\paperwidth + \hskip-\dimexpr1in+\hoffset+\oddsidemargin\relax + \else + \let\mywidth\linewidth + \fi + \adjustbox{trim={.5\width} 0 0 0,clip}{\includegraphics[width=2\mywidth]{#3}}}% + \if #2p% + \if #1b% + \vspace*{-\dimexpr\paperheight-\textheight-1in-\voffset-\topmargin-\headheight-\headsep\relax}% + \fi + \fi + \end{figure}% + }}% +} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + + +\endinput
\ No newline at end of file |