1% 2% sphinxhowto.cls for Sphinx (http://sphinx-doc.org/) 3% 4 5\NeedsTeXFormat{LaTeX2e}[1995/12/01] 6\ProvidesClass{sphinxhowto}[2017/03/26 v1.6 Document class (Sphinx HOWTO)] 7 8% 'oneside' option overriding the 'twoside' default 9\newif\if@oneside 10\DeclareOption{oneside}{\@onesidetrue} 11% Pass remaining document options to the parent class. 12\DeclareOption*{\PassOptionsToClass{\CurrentOption}{\sphinxdocclass}} 13\ProcessOptions\relax 14 15% Default to two-side document 16\if@oneside 17% nothing to do (oneside is the default) 18\else 19\PassOptionsToClass{twoside}{\sphinxdocclass} 20\fi 21 22\LoadClass{\sphinxdocclass} 23 24% Set some sane defaults for section numbering depth and TOC depth. You can 25% reset these counters in your preamble. 26% 27\setcounter{secnumdepth}{2} 28 29% Change the title page to look a bit better, and fit in with the fncychap 30% ``Bjarne'' style a bit better. 31% 32\renewcommand{\maketitle}{% 33 \noindent\rule{\textwidth}{1pt}\par 34 \begingroup % for PDF information dictionary 35 \def\endgraf{ }\def\and{\& }% 36 \pdfstringdefDisableCommands{\def\\{, }}% overwrite hyperref setup 37 \hypersetup{pdfauthor={\@author}, pdftitle={\@title}}% 38 \endgroup 39 \begin{flushright} 40 \sphinxlogo 41 \py@HeaderFamily 42 {\Huge \@title }\par 43 {\itshape\large \py@release \releaseinfo}\par 44 \vspace{25pt} 45 {\Large 46 \begin{tabular}[t]{c} 47 \@author 48 \end{tabular}}\par 49 \vspace{25pt} 50 \@date \par 51 \py@authoraddress \par 52 \end{flushright} 53 \@thanks 54 \setcounter{footnote}{0} 55 \let\thanks\relax\let\maketitle\relax 56 %\gdef\@thanks{}\gdef\@author{}\gdef\@title{} 57} 58 59\newcommand{\sphinxtableofcontents}{ 60 \begingroup 61 \parskip = 0mm 62 \tableofcontents 63 \endgroup 64 \rule{\textwidth}{1pt} 65 \vspace{12pt} 66} 67 68\@ifundefined{fancyhf}{ 69 \pagestyle{plain}}{ 70 \pagestyle{normal}} % start this way; change for 71\pagenumbering{arabic} % ToC & chapters 72 73\thispagestyle{empty} 74 75% Fix the bibliography environment to add an entry to the Table of 76% Contents. 77% For an article document class this environment is a section, 78% so no page break before it. 79% 80\newenvironment{sphinxthebibliography}[1]{% 81 % \phantomsection % not needed here since TeXLive 2010's hyperref 82 \begin{thebibliography}{1}% 83 \addcontentsline{toc}{section}{\ifdefined\refname\refname\else\ifdefined\bibname\bibname\fi\fi}}{\end{thebibliography}} 84 85 86% Same for the indices. 87% The memoir class already does this, so we don't duplicate it in that case. 88% 89\@ifclassloaded{memoir} 90 {\newenvironment{sphinxtheindex}{\begin{theindex}}{\end{theindex}}} 91 {\newenvironment{sphinxtheindex}{% 92 \phantomsection % needed because no chapter, section, ... is created by theindex 93 \begin{theindex}% 94 \addcontentsline{toc}{section}{\indexname}}{\end{theindex}}} 95