On Sun, Apr 01, 2018 at 09:48:52AM +0900, Akira Yokosawa wrote: > >From 8516b731b6c0c43c52c71ba4fc00bdf6e471d329 Mon Sep 17 00:00:00 2001 > From: Akira Yokosawa <akiyks@xxxxxxxxx> > Date: Sun, 1 Apr 2018 09:01:19 +0900 > Subject: [PATCH] Stop using modified book.cls > > Strictly speaking, using a modified version of a standard class > file should be avoided. Instead, define a class "pfbook" in > pfbook.cls which loads the book class to add an option and > override a couple of definitions. > > The addition of the option was originally done in commit > 7b8ce4d5ece9 ("Modify book.cls to allow 10.75x8.25-inch PDFs > for hardcover use"). > > The modification of definitions was originally done in commit > 398070c4ae9a ("book.cls: Fix indent after \chapter in twocolumn"). > > Signed-off-by: Akira Yokosawa <akiyks@xxxxxxxxx> I very much like having only the changed definition as opposed to my having duplicated the entire file, thank you! Queued and pushed. Thanx, Paul > --- > Hi Paul, > > It turned out that this is a preferred way to customize an existing > document class. > > See: https://tex.stackexchange.com/questions/528/style-class-tutorials > http://tutex.tug.org/pracjourn/2005-4/hefferon/hefferon.pdf > > Thanks, Akira > -- > Makefile | 2 +- > book.cls | 768 ----------------------------------------------------------- > perfbook.tex | 2 +- > pfbook.cls | 47 ++++ > 4 files changed, 49 insertions(+), 770 deletions(-) > delete mode 100644 book.cls > create mode 100644 pfbook.cls > > diff --git a/Makefile b/Makefile > index 465e139..873be64 100644 > --- a/Makefile > +++ b/Makefile > @@ -3,7 +3,7 @@ LATEXSOURCES = \ > legal.tex \ > glossary.tex \ > qqz.sty origpub.sty \ > - book.cls \ > + pfbook.cls \ > ushyphex.tex pfhyphex.tex \ > */*.tex \ > */*/*.tex > diff --git a/book.cls b/book.cls > deleted file mode 100644 > index 629f5c9..0000000 > --- a/book.cls > +++ /dev/null > @@ -1,768 +0,0 @@ > -%% > -%% This is file `book.cls', > -%% generated with the docstrip utility. > -%% > -%% The original source files were: > -%% > -%% classes.dtx (with options: `book') > -%% > -%% This is a generated file. > -%% > -%% The source is maintained by the LaTeX Project team and bug > -%% reports for it can be opened at http://latex-project.org/bugs.html > -%% (but please observe conditions on bug reports sent to that address!) > -%% > -%% > -%% Copyright 1993-2016 > -%% The LaTeX3 Project and any individual authors listed elsewhere > -%% in this file. > -%% > -%% This file was generated from file(s) of the LaTeX base system. > -%% -------------------------------------------------------------- > -%% > -%% It 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.3c or later is part of all distributions of LaTeX > -%% version 2005/12/01 or later. > -%% > -%% This file has been modified by Paul E. McKenney, so is not maintained > -%% by the LaTeX Project. These modifications allow specifying "hardcover" > -%% in order to generate 10.75x8.25in pages for hardcover books. > -%% > -%% It has also been modified by Akira Yokosawa. The modification fixes > -%% indentation behavior of first paragraph in a chapter when twocolumn > -%% option is specified. > -%% > -%% This file may only be distributed together with a copy of the LaTeX > -%% base system. You may however distribute the LaTeX base system without > -%% such generated files. > -%% > -%% The list of all files belonging to the LaTeX base distribution is > -%% given in the file `manifest.txt'. See also `legal.txt' for additional > -%% information. > -%% > -%% The list of derived (unpacked) files belonging to the distribution > -%% and covered by LPPL is defined by the unpacking scripts (with > -%% extension .ins) which are part of the distribution. > -%% \CharacterTable > -%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z > -%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z > -%% Digits \0\1\2\3\4\5\6\7\8\9 > -%% Exclamation \! Double quote \" Hash (number) \# > -%% Dollar \$ Percent \% Ampersand \& > -%% Acute accent \' Left paren \( Right paren \) > -%% Asterisk \* Plus \+ Comma \, > -%% Minus \- Point \. Solidus \/ > -%% Colon \: Semicolon \; Less than \< > -%% Equals \= Greater than \> Question mark \? > -%% Commercial at \@ Left bracket \[ Backslash \\ > -%% Right bracket \] Circumflex \^ Underscore \_ > -%% Grave accent \` Left brace \{ Vertical bar \| > -%% Right brace \} Tilde \~} > -\NeedsTeXFormat{LaTeX2e}[1995/12/01] > -\ProvidesClass{book} > - [2014/09/29 v1.4h-pem-ay > - Standard LaTeX document class] > -\newcommand\@ptsize{} > -\newif\if@restonecol > -\newif\if@titlepage > -\@titlepagetrue > -\newif\if@openright > -\newif\if@mainmatter \@mainmattertrue > -\if@compatibility\else > -\DeclareOption{a4paper} > - {\setlength\paperheight {297mm}% > - \setlength\paperwidth {210mm}} > -\DeclareOption{a5paper} > - {\setlength\paperheight {210mm}% > - \setlength\paperwidth {148mm}} > -\DeclareOption{b5paper} > - {\setlength\paperheight {250mm}% > - \setlength\paperwidth {176mm}} > -\DeclareOption{letterpaper} > - {\setlength\paperheight {11in}% > - \setlength\paperwidth {8.5in}} > -\DeclareOption{letterpaperhb} > - {\setlength\paperheight {10.75in}% > - \setlength\paperwidth {8.25in}} > -\DeclareOption{legalpaper} > - {\setlength\paperheight {14in}% > - \setlength\paperwidth {8.5in}} > -\DeclareOption{executivepaper} > - {\setlength\paperheight {10.5in}% > - \setlength\paperwidth {7.25in}} > -\DeclareOption{landscape} > - {\setlength\@tempdima {\paperheight}% > - \setlength\paperheight {\paperwidth}% > - \setlength\paperwidth {\@tempdima}} > -\fi > -\if@compatibility > - \renewcommand\@ptsize{0} > -\else > -\DeclareOption{10pt}{\renewcommand\@ptsize{0}} > -\fi > -\DeclareOption{11pt}{\renewcommand\@ptsize{1}} > -\DeclareOption{12pt}{\renewcommand\@ptsize{2}} > -\if@compatibility\else > -\DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse} > -\fi > -\DeclareOption{twoside}{\@twosidetrue \@mparswitchtrue} > -\DeclareOption{draft}{\setlength\overfullrule{5pt}} > -\if@compatibility\else > -\DeclareOption{final}{\setlength\overfullrule{0pt}} > -\fi > -\DeclareOption{titlepage}{\@titlepagetrue} > -\if@compatibility\else > -\DeclareOption{notitlepage}{\@titlepagefalse} > -\fi > -\if@compatibility > -\@openrighttrue > -\else > -\DeclareOption{openright}{\@openrighttrue} > -\DeclareOption{openany}{\@openrightfalse} > -\fi > -\if@compatibility\else > -\DeclareOption{onecolumn}{\@twocolumnfalse} > -\fi > -\DeclareOption{twocolumn}{\@twocolumntrue} > -\DeclareOption{leqno}{\input{leqno.clo}} > -\DeclareOption{fleqn}{\input{fleqn.clo}} > -\DeclareOption{openbib}{% > - \AtEndOfPackage{% > - \renewcommand\@openbib@code{% > - \advance\leftmargin\bibindent > - \itemindent -\bibindent > - \listparindent \itemindent > - \parsep \z@ > - }% > - \renewcommand\newblock{\par}}% > -} > -\ExecuteOptions{letterpaper,10pt,twoside,onecolumn,final,openright} > -\ProcessOptions > -\input{bk1\@ptsize.clo} > -\setlength\lineskip{1\p@} > -\setlength\normallineskip{1\p@} > -\renewcommand\baselinestretch{} > -\setlength\parskip{0\p@ \@plus \p@} > -\@lowpenalty 51 > -\@medpenalty 151 > -\@highpenalty 301 > -\setcounter{topnumber}{2} > -\renewcommand\topfraction{.7} > -\setcounter{bottomnumber}{1} > -\renewcommand\bottomfraction{.3} > -\setcounter{totalnumber}{3} > -\renewcommand\textfraction{.2} > -\renewcommand\floatpagefraction{.5} > -\setcounter{dbltopnumber}{2} > -\renewcommand\dbltopfraction{.7} > -\renewcommand\dblfloatpagefraction{.5} > -\if@twoside > - \def\ps@headings{% > - \let\@oddfoot\@empty\let\@evenfoot\@empty > - \def\@evenhead{\thepage\hfil\slshape\leftmark}% > - \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% > - \let\@mkboth\markboth > - \def\chaptermark##1{% > - \markboth {\MakeUppercase{% > - \ifnum \c@secnumdepth >\m@ne > - \if@mainmatter > - \@chapapp\ \thechapter. \ % > - \fi > - \fi > - ##1}}{}}% > - \def\sectionmark##1{% > - \markright {\MakeUppercase{% > - \ifnum \c@secnumdepth >\z@ > - \thesection. \ % > - \fi > - ##1}}}} > -\else > - \def\ps@headings{% > - \let\@oddfoot\@empty > - \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% > - \let\@mkboth\markboth > - \def\chaptermark##1{% > - \markright {\MakeUppercase{% > - \ifnum \c@secnumdepth >\m@ne > - \if@mainmatter > - \@chapapp\ \thechapter. \ % > - \fi > - \fi > - ##1}}}} > -\fi > -\def\ps@myheadings{% > - \let\@oddfoot\@empty\let\@evenfoot\@empty > - \def\@evenhead{\thepage\hfil\slshape\leftmark}% > - \def\@oddhead{{\slshape\rightmark}\hfil\thepage}% > - \let\@mkboth\@gobbletwo > - \let\chaptermark\@gobble > - \let\sectionmark\@gobble > - } > - \if@titlepage > - \newcommand\maketitle{\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\@author\@empty > - \global\let\@date\@empty > - \global\let\@title\@empty > - \global\let\title\relax > - \global\let\author\relax > - \global\let\date\relax > - \global\let\and\relax > -} > -\else > -\newcommand\maketitle{\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 > - \@maketitle > - \else > - \twocolumn[\@maketitle]% > - \fi > - \else > - \newpage > - \global\@topnum\z@ % Prevents figures from going at top of page. > - \@maketitle > - \fi > - \thispagestyle{plain}\@thanks > - \endgroup > - \setcounter{footnote}{0}% > - \global\let\thanks\relax > - \global\let\maketitle\relax > - \global\let\@maketitle\relax > - \global\let\@thanks\@empty > - \global\let\@author\@empty > - \global\let\@date\@empty > - \global\let\@title\@empty > - \global\let\title\relax > - \global\let\author\relax > - \global\let\date\relax > - \global\let\and\relax > -} > -\def\@maketitle{% > - \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 > -\newcommand*\chaptermark[1]{} > -\setcounter{secnumdepth}{2} > -\newcounter {part} > -\newcounter {chapter} > -\newcounter {section}[chapter] > -\newcounter {subsection}[section] > -\newcounter {subsubsection}[subsection] > -\newcounter {paragraph}[subsubsection] > -\newcounter {subparagraph}[paragraph] > -\renewcommand \thepart {\@Roman\c@part} > -\renewcommand \thechapter {\@arabic\c@chapter} > -\renewcommand \thesection {\thechapter.\@arabic\c@section} > -\renewcommand\thesubsection {\thesection.\@arabic\c@subsection} > -\renewcommand\thesubsubsection{\thesubsection.\@arabic\c@subsubsection} > -\renewcommand\theparagraph {\thesubsubsection.\@arabic\c@paragraph} > -\renewcommand\thesubparagraph {\theparagraph.\@arabic\c@subparagraph} > -\newcommand\@chapapp{\chaptername} > -\newcommand\frontmatter{% > - \cleardoublepage > - \@mainmatterfalse > - \pagenumbering{roman}} > -\newcommand\mainmatter{% > - \cleardoublepage > - \@mainmattertrue > - \pagenumbering{arabic}} > -\newcommand\backmatter{% > - \if@openright > - \cleardoublepage > - \else > - \clearpage > - \fi > - \@mainmatterfalse} > -\newcommand\part{% > - \if@openright > - \cleardoublepage > - \else > - \clearpage > - \fi > - \thispagestyle{plain}% > - \if@twocolumn > - \onecolumn > - \@tempswatrue > - \else > - \@tempswafalse > - \fi > - \null\vfil > - \secdef\@part\@spart} > - > -\def\@part[#1]#2{% > - \ifnum \c@secnumdepth >-2\relax > - \refstepcounter{part}% > - \addcontentsline{toc}{part}{\thepart\hspace{1em}#1}% > - \else > - \addcontentsline{toc}{part}{#1}% > - \fi > - \markboth{}{}% > - {\centering > - \interlinepenalty \@M > - \normalfont > - \ifnum \c@secnumdepth >-2\relax > - \huge\bfseries \partname\nobreakspace\thepart > - \par > - \vskip 20\p@ > - \fi > - \Huge \bfseries #2\par}% > - \@endpart} > -\def\@spart#1{% > - {\centering > - \interlinepenalty \@M > - \normalfont > - \Huge \bfseries #1\par}% > - \@endpart} > -\def\@endpart{\vfil\newpage > - \if@twoside > - \if@openright > - \null > - \thispagestyle{empty}% > - \newpage > - \fi > - \fi > - \if@tempswa > - \twocolumn > - \fi} > -\newcommand\chapter{\if@openright\cleardoublepage\else\clearpage\fi > - \thispagestyle{plain}% > - \global\@topnum\z@ > - \@afterindentfalse > - \secdef\@chapter\@schapter} > -\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne > - \if@mainmatter > - \refstepcounter{chapter}% > - \typeout{\@chapapp\space\thechapter.}% > - \addcontentsline{toc}{chapter}% > - {\protect\numberline{\thechapter}#1}% > - \else > - \addcontentsline{toc}{chapter}{#1}% > - \fi > - \else > - \addcontentsline{toc}{chapter}{#1}% > - \fi > - \chaptermark{#1}% > - \addtocontents{lof}{\protect\addvspace{10\p@}}% > - \addtocontents{lot}{\protect\addvspace{10\p@}}% > - \if@twocolumn > - \@topnewpage[\@makechapterhead{#2}]% > - \else > - \@makechapterhead{#2}% > - \fi > - \@afterheading} > -\def\@makechapterhead#1{% > - \vspace*{50\p@}% > - {\parindent \z@ \raggedright \normalfont > - \ifnum \c@secnumdepth >\m@ne > - \if@mainmatter > - \huge\bfseries \@chapapp\space \thechapter > - \par\nobreak > - \vskip 20\p@ > - \fi > - \fi > - \interlinepenalty\@M > - \Huge \bfseries #1\par\nobreak > - \vskip 40\p@ > - }} > -\def\@schapter#1{\if@twocolumn > - \@topnewpage[\@makeschapterhead{#1}]% > - \else > - \@makeschapterhead{#1}% > - \fi > - \@afterheading} > -\def\@makeschapterhead#1{% > - \vspace*{50\p@}% > - {\parindent \z@ \raggedright > - \normalfont > - \interlinepenalty\@M > - \Huge \bfseries #1\par\nobreak > - \vskip 40\p@ > - }} > -\newcommand\section{\@startsection {section}{1}{\z@}% > - {-3.5ex \@plus -1ex \@minus -.2ex}% > - {2.3ex \@plus.2ex}% > - {\normalfont\Large\bfseries}} > -\newcommand\subsection{\@startsection{subsection}{2}{\z@}% > - {-3.25ex\@plus -1ex \@minus -.2ex}% > - {1.5ex \@plus .2ex}% > - {\normalfont\large\bfseries}} > -\newcommand\subsubsection{\@startsection{subsubsection}{3}{\z@}% > - {-3.25ex\@plus -1ex \@minus -.2ex}% > - {1.5ex \@plus .2ex}% > - {\normalfont\normalsize\bfseries}} > -\newcommand\paragraph{\@startsection{paragraph}{4}{\z@}% > - {3.25ex \@plus1ex \@minus.2ex}% > - {-1em}% > - {\normalfont\normalsize\bfseries}} > -\newcommand\subparagraph{\@startsection{subparagraph}{5}{\parindent}% > - {3.25ex \@plus1ex \@minus .2ex}% > - {-1em}% > - {\normalfont\normalsize\bfseries}} > -\if@twocolumn > - \setlength\leftmargini {2em} > -\else > - \setlength\leftmargini {2.5em} > -\fi > -\leftmargin \leftmargini > -\setlength\leftmarginii {2.2em} > -\setlength\leftmarginiii {1.87em} > -\setlength\leftmarginiv {1.7em} > -\if@twocolumn > - \setlength\leftmarginv {.5em} > - \setlength\leftmarginvi {.5em} > -\else > - \setlength\leftmarginv {1em} > - \setlength\leftmarginvi {1em} > -\fi > -\setlength \labelsep {.5em} > -\setlength \labelwidth{\leftmargini} > -\addtolength\labelwidth{-\labelsep} > -\@beginparpenalty -\@lowpenalty > -\@endparpenalty -\@lowpenalty > -\@itempenalty -\@lowpenalty > -\renewcommand\theenumi{\@arabic\c@enumi} > -\renewcommand\theenumii{\@alph\c@enumii} > -\renewcommand\theenumiii{\@roman\c@enumiii} > -\renewcommand\theenumiv{\@Alph\c@enumiv} > -\newcommand\labelenumi{\theenumi.} > -\newcommand\labelenumii{(\theenumii)} > -\newcommand\labelenumiii{\theenumiii.} > -\newcommand\labelenumiv{\theenumiv.} > -\renewcommand\p@enumii{\theenumi} > -\renewcommand\p@enumiii{\theenumi(\theenumii)} > -\renewcommand\p@enumiv{\p@enumiii\theenumiii} > -\newcommand\labelitemi{\textbullet} > -\newcommand\labelitemii{\normalfont\bfseries \textendash} > -\newcommand\labelitemiii{\textasteriskcentered} > -\newcommand\labelitemiv{\textperiodcentered} > -\newenvironment{description} > - {\list{}{\labelwidth\z@ \itemindent-\leftmargin > - \let\makelabel\descriptionlabel}} > - {\endlist} > -\newcommand*\descriptionlabel[1]{\hspace\labelsep > - \normalfont\bfseries #1} > -\newenvironment{verse} > - {\let\\\@centercr > - \list{}{\itemsep \z@ > - \itemindent -1.5em% > - \listparindent\itemindent > - \rightmargin \leftmargin > - \advance\leftmargin 1.5em}% > - \item\relax} > - {\endlist} > -\newenvironment{quotation} > - {\list{}{\listparindent 1.5em% > - \itemindent \listparindent > - \rightmargin \leftmargin > - \parsep \z@ \@plus\p@}% > - \item\relax} > - {\endlist} > -\newenvironment{quote} > - {\list{}{\rightmargin\leftmargin}% > - \item\relax} > - {\endlist} > -\if@compatibility > -\newenvironment{titlepage} > - {% > - \cleardoublepage > - \if@twocolumn > - \@restonecoltrue\onecolumn > - \else > - \@restonecolfalse\newpage > - \fi > - \thispagestyle{empty}% > - \setcounter{page}\z@ > - }% > - {\if@restonecol\twocolumn \else \newpage \fi > - } > -\else > -\newenvironment{titlepage} > - {% > - \cleardoublepage > - \if@twocolumn > - \@restonecoltrue\onecolumn > - \else > - \@restonecolfalse\newpage > - \fi > - \thispagestyle{empty}% > - \setcounter{page}\@ne > - }% > - {\if@restonecol\twocolumn \else \newpage \fi > - \if@twoside\else > - \setcounter{page}\@ne > - \fi > - } > -\fi > -\newcommand\appendix{\par > - \setcounter{chapter}{0}% > - \setcounter{section}{0}% > - \gdef\@chapapp{\appendixname}% > - \gdef\thechapter{\@Alph\c@chapter}} > -\setlength\arraycolsep{5\p@} > -\setlength\tabcolsep{6\p@} > -\setlength\arrayrulewidth{.4\p@} > -\setlength\doublerulesep{2\p@} > -\setlength\tabbingsep{\labelsep} > -\skip\@mpfootins = \skip\footins > -\setlength\fboxsep{3\p@} > -\setlength\fboxrule{.4\p@} > -\@addtoreset {equation}{chapter} > -\renewcommand\theequation > - {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@equation} > -\newcounter{figure}[chapter] > -\renewcommand \thefigure > - {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@figure} > -\def\fps@figure{tbp} > -\def\ftype@figure{1} > -\def\ext@figure{lof} > -\def\fnum@figure{\figurename\nobreakspace\thefigure} > -\newenvironment{figure} > - {\@float{figure}} > - {\end@float} > -\newenvironment{figure*} > - {\@dblfloat{figure}} > - {\end@dblfloat} > -\newcounter{table}[chapter] > -\renewcommand \thetable > - {\ifnum \c@chapter>\z@ \thechapter.\fi \@arabic\c@table} > -\def\fps@table{tbp} > -\def\ftype@table{2} > -\def\ext@table{lot} > -\def\fnum@table{\tablename\nobreakspace\thetable} > -\newenvironment{table} > - {\@float{table}} > - {\end@float} > -\newenvironment{table*} > - {\@dblfloat{table}} > - {\end@dblfloat} > -\newlength\abovecaptionskip > -\newlength\belowcaptionskip > -\setlength\abovecaptionskip{10\p@} > -\setlength\belowcaptionskip{0\p@} > -\long\def\@makecaption#1#2{% > - \vskip\abovecaptionskip > - \sbox\@tempboxa{#1: #2}% > - \ifdim \wd\@tempboxa >\hsize > - #1: #2\par > - \else > - \global \@minipagefalse > - \hb@xt@\hsize{\hfil\box\@tempboxa\hfil}% > - \fi > - \vskip\belowcaptionskip} > -\DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm} > -\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf} > -\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt} > -\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf} > -\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit} > -\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl} > -\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc} > -\DeclareRobustCommand*\cal{\@fontswitch\relax\mathcal} > -\DeclareRobustCommand*\mit{\@fontswitch\relax\mathnormal} > -\newcommand\@pnumwidth{1.55em} > -\newcommand\@tocrmarg{2.55em} > -\newcommand\@dotsep{4.5} > -\setcounter{tocdepth}{2} > -\newcommand\tableofcontents{% > - \if@twocolumn > - \@restonecoltrue\onecolumn > - \else > - \@restonecolfalse > - \fi > - \chapter*{\contentsname > - \@mkboth{% > - \MakeUppercase\contentsname}{\MakeUppercase\contentsname}}% > - \@starttoc{toc}% > - \if@restonecol\twocolumn\fi > - } > -\newcommand*\l@part[2]{% > - \ifnum \c@tocdepth >-2\relax > - \addpenalty{-\@highpenalty}% > - \addvspace{2.25em \@plus\p@}% > - \setlength\@tempdima{3em}% > - \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} > -\newcommand*\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\hfil \nobreak\hb@xt@\@pnumwidth{\hss #2}\par > - \penalty\@highpenalty > - \endgroup > - \fi} > -\newcommand*\l@section{\@dottedtocline{1}{1.5em}{2.3em}} > -\newcommand*\l@subsection{\@dottedtocline{2}{3.8em}{3.2em}} > -\newcommand*\l@subsubsection{\@dottedtocline{3}{7.0em}{4.1em}} > -\newcommand*\l@paragraph{\@dottedtocline{4}{10em}{5em}} > -\newcommand*\l@subparagraph{\@dottedtocline{5}{12em}{6em}} > -\newcommand\listoffigures{% > - \if@twocolumn > - \@restonecoltrue\onecolumn > - \else > - \@restonecolfalse > - \fi > - \chapter*{\listfigurename}% > - \@mkboth{\MakeUppercase\listfigurename}% > - {\MakeUppercase\listfigurename}% > - \@starttoc{lof}% > - \if@restonecol\twocolumn\fi > - } > -\newcommand*\l@figure{\@dottedtocline{1}{1.5em}{2.3em}} > -\newcommand\listoftables{% > - \if@twocolumn > - \@restonecoltrue\onecolumn > - \else > - \@restonecolfalse > - \fi > - \chapter*{\listtablename}% > - \@mkboth{% > - \MakeUppercase\listtablename}% > - {\MakeUppercase\listtablename}% > - \@starttoc{lot}% > - \if@restonecol\twocolumn\fi > - } > -\let\l@table\l@figure > -\newdimen\bibindent > -\setlength\bibindent{1.5em} > -\newenvironment{thebibliography}[1] > - {\chapter*{\bibname}% > - \@mkboth{\MakeUppercase\bibname}{\MakeUppercase\bibname}% > - \list{\@biblabel{\@arabic\c@enumiv}}% > - {\settowidth\labelwidth{\@biblabel{#1}}% > - \leftmargin\labelwidth > - \advance\leftmargin\labelsep > - \@openbib@code > - \usecounter{enumiv}% > - \let\p@enumiv\@empty > - \renewcommand\theenumiv{\@arabic\c@enumiv}}% > - \sloppy > - \clubpenalty4000 > - \@clubpenalty \clubpenalty > - \widowpenalty4000% > - \sfcode`\.\@m} > - {\def\@noitemerr > - {\@latex@warning{Empty `thebibliography' environment}}% > - \endlist} > -\newcommand\newblock{\hskip .11em\@plus.33em\@minus.07em} > -\let\@openbib@code\@empty > -\newenvironment{theindex} > - {\if@twocolumn > - \@restonecolfalse > - \else > - \@restonecoltrue > - \fi > - \twocolumn[\@makeschapterhead{\indexname}]% > - \@mkboth{\MakeUppercase\indexname}% > - {\MakeUppercase\indexname}% > - \thispagestyle{plain}\parindent\z@ > - \parskip\z@ \@plus .3\p@\relax > - \columnseprule \z@ > - \columnsep 35\p@ > - \let\item\@idxitem} > - {\if@restonecol\onecolumn\else\clearpage\fi} > -\newcommand\@idxitem{\par\hangindent 40\p@} > -\newcommand\subitem{\@idxitem \hspace*{20\p@}} > -\newcommand\subsubitem{\@idxitem \hspace*{30\p@}} > -\newcommand\indexspace{\par \vskip 10\p@ \@plus5\p@ \@minus3\p@\relax} > -\renewcommand\footnoterule{% > - \kern-3\p@ > - \hrule\@width.4\columnwidth > - \kern2.6\p@} > -\@addtoreset{footnote}{chapter} > -\newcommand\@makefntext[1]{% > - \parindent 1em% > - \noindent > - \hb@xt@1.8em{\hss\@makefnmark}#1} > -\newcommand\contentsname{Contents} > -\newcommand\listfigurename{List of Figures} > -\newcommand\listtablename{List of Tables} > -\newcommand\bibname{Bibliography} > -\newcommand\indexname{Index} > -\newcommand\figurename{Figure} > -\newcommand\tablename{Table} > -\newcommand\partname{Part} > -\newcommand\chaptername{Chapter} > -\newcommand\appendixname{Appendix} > -\def\today{\ifcase\month\or > - January\or February\or March\or April\or May\or June\or > - July\or August\or September\or October\or November\or December\fi > - \space\number\day, \number\year} > -\setlength\columnsep{10\p@} > -\setlength\columnseprule{0\p@} > -\pagestyle{headings} > -\pagenumbering{arabic} > -\if@twoside > -\else > - \raggedbottom > -\fi > -\if@twocolumn > - \twocolumn > - \sloppy > - \flushbottom > -\else > - \onecolumn > -\fi > -\endinput > -%% > -%% End of file `book.cls'. > diff --git a/perfbook.tex b/perfbook.tex > index fe9421e..1441a29 100644 > --- a/perfbook.tex > +++ b/perfbook.tex > @@ -1,4 +1,4 @@ > -\documentclass[10pt,twocolumn]{book} > +\documentclass[10pt,twocolumn]{pfbook} % book class customized for perfbook > % For arxiv.org, must be on or before line 5: > \pdfoutput=1 > > diff --git a/pfbook.cls b/pfbook.cls > new file mode 100644 > index 0000000..9c1ef9f > --- /dev/null > +++ b/pfbook.cls > @@ -0,0 +1,47 @@ > +% SPDX-License-Identifier: GPL-2.0-or-later > +% This file is pfbook.cls > +% book class customized for perfbook > +% Copyright (C) 2018 Akira Yokosawa > +\NeedsTeXFormat{LaTeX2e}[1995/12/01] > +\ProvidesClass{pfbook} > + [2018/04/01 v1.4h-pem-ay > + book class customized for perfbook] > +% (by Paul E. McKenney) > +% Add an option "letterpaperhb" in order to generate 10.75x8.25in pages > +% for hardcover books. > +\DeclareOption{letterpaperhb} > + {\setlength\paperheight {10.75in}% > + \setlength\paperwidth {8.25in}} > +\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}} > +\ProcessOptions\relax > +\LoadClass{book} > +% (by Akira Yokosawa) > +% Fix indentation behavior of first paragraph in a chapter when twocolumn > +% option is specified. > +\def\@chapter[#1]#2{\ifnum \c@secnumdepth >\m@ne > + \if@mainmatter > + \refstepcounter{chapter}% > + \typeout{\@chapapp\space\thechapter.}% > + \addcontentsline{toc}{chapter}% > + {\protect\numberline{\thechapter}#1}% > + \else > + \addcontentsline{toc}{chapter}{#1}% > + \fi > + \else > + \addcontentsline{toc}{chapter}{#1}% > + \fi > + \chaptermark{#1}% > + \addtocontents{lof}{\protect\addvspace{10\p@}}% > + \addtocontents{lot}{\protect\addvspace{10\p@}}% > + \if@twocolumn > + \@topnewpage[\@makechapterhead{#2}]% > + \else > + \@makechapterhead{#2}% > + \fi > + \@afterheading} > +\def\@schapter#1{\if@twocolumn > + \@topnewpage[\@makeschapterhead{#1}]% > + \else > + \@makeschapterhead{#1}% > + \fi > + \@afterheading} > -- > 2.7.4 > -- To unsubscribe from this list: send the line "unsubscribe perfbook" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html