Re: [PATCH] Stop using modified book.cls

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux