Mercurial > hgrepos > Python > libs > ConfigMix
view docs/_latex/my-doc-style.sty @ 786:5f0ee44825b1
Update to my-doc-style.sty v0.3.1.
Fixes ToC entry handling of sections with suppressed numbers.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 17 May 2026 13:08:45 +0200 |
| parents | 42f7caa89253 |
| children |
line wrap: on
line source
% -*- coding: utf-8 -*- % % Some font hacks for my Sphinx PDF documents % \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{my-doc-style}[% 2026/05/17 v0.3.1 (Franz Glasner) Some style customizations (title et al.)] \RequirePackage{xkeyval} % A key compatible with options processing but bool (because DeclareBoolOptionX) % If given than the Sphinx standard titlepage is used without changes. \define@boolkey{my-doc-style.sty}{stdtitle}[true]{} \ExecuteOptionsX{stdtitle=false} \ProcessOptionsX\relax % % For the title page: "Last updated on ..." % \DeclareRobustCommand*\vcsrevision[1]{\gdef\mds@vcs@revision{#1}} \DeclareRobustCommand*\builddate[1]{\gdef\mds@builddate{#1}} \vcsrevision{} \builddate{} % % If the option "stdtitle" was not enabled augment the titlepage with % the documentation build date and the VCS revision id. % \csname ifKV@my-doc-style.sty@stdtitle\endcsname \relax \else % \sphinxmaketitle calls the macro \@thanks: abuse this \gdef\@thanks{% \ifx\mds@builddate\@empty\relax% \ifx\mds@vcs@revision\@empty\relax% \else% \hfill\normalsize\textsf{(rev\ \mds@vcs@revision )}% \fi% \else% \hfill\normalsize\textsf{Last updated on \mds@builddate% \ifx\mds@vcs@revision\@empty\relax\else\enspace(rev\ \mds@vcs@revision )\fi} \fi% } \fi % % Allow to suppress section numbering for some parts of the document % (e.g. in changelog entries). % % Sphinx employs the "titlesec" package to style its chapter and section % headings and uses its \titleformat command with a 0.5em separation % (see \titleformat calls in sphinxlatexstyleheadings.sty). % So make \the<section> output nothing (e.g. the section number) % but just a compensation for this whitespace. % % Each suppress command suppresses its level and all levels below % (compare with the \titleformat calls in sphinxlatexstyleheadings.sty). % % \EndSuppressNumbering ends exactly one preceding % \SuppressSubsectionNumbering or \SuppressSubsubsectionNumbering. % % % A counter to store the current (Sphinx-set) tocdepth. % Needed because counters are global in LaTeX. % \newcounter{@mds@stored@tocdepth} \def\SuppressSectionNumbering{% \begingroup \setcounter{@mds@stored@tocdepth}{\value{tocdepth}} \addtocontents{toc}{\setcounter{tocdepth}{0}}% No \section in ToC \renewcommand\thesection{\hspace{-0.5em}} \renewcommand\thesubsection{\hspace{-0.5em}} \renewcommand\thesubsubsection{\hspace{-0.5em}} \renewcommand\theparagraph{\hspace{-0.5em}} \renewcommand\thesubparagraph{\hspace{-0.5em}} } \def\SuppressSubsectionNumbering{% \begingroup \setcounter{@mds@stored@tocdepth}{\value{tocdepth}} \addtocontents{toc}{\setcounter{tocdepth}{1}}% Allow \section in ToC \renewcommand\thesubsection{\hspace{-0.5em}} \renewcommand\thesubsubsection{\hspace{-0.5em}} \renewcommand\theparagraph{\hspace{-0.5em}} \renewcommand\thesubparagraph{\hspace{-0.5em}} } \def\SuppressSubsubsectionNumbering{% \begingroup \setcounter{@mds@stored@tocdepth}{\value{tocdepth}} \addtocontents{toc}{\setcounter{tocdepth}{2}}% Allow \subsection in ToC \renewcommand\thesubsubsection{\hspace{-0.5em}} \renewcommand\theparagraph{\hspace{-0.5em}} \renewcommand\thesubparagraph{\hspace{-0.5em}} } \def\EndSuppressNumbering{% % Reset the tocdepth to the previous value \addtocontents{toc}{\setcounter{tocdepth}{\the@mds@stored@tocdepth}}% Default \endgroup } \endinput
