
Add "Version" in front of a version name via `.version:before' or `.versionNoNav:before' and `\SVersionBefore', so that they can be configured through overriding CSS or Latex macro declarations. Also, improve the documentation for how the `#:version' argument of `title' is propagated to a `part' style property. Closes PR 13227 original commit: a830f77403a1f51de7359c7946b01ef10d401cee
203 lines
8.2 KiB
TeX
203 lines
8.2 KiB
TeX
% This is the default style configuration for Scribble-generated Latex
|
|
|
|
\usepackage{graphicx}
|
|
\usepackage{hyperref}
|
|
\renewcommand{\rmdefault}{ptm}
|
|
\usepackage{stabular}
|
|
\usepackage{relsize}
|
|
\usepackage{wasysym}
|
|
\usepackage{textcomp}
|
|
\usepackage{framed}
|
|
\usepackage[htt]{hyphenat}
|
|
\usepackage[usenames,dvipsnames]{color}
|
|
\hypersetup{bookmarks=true,bookmarksopen=true,bookmarksnumbered=true}
|
|
\IfFileExists{tocstyle.sty}{\usepackage{tocstyle}\usetocstyle{standard}}{}
|
|
\IfFileExists{CJK.sty}{\usepackage{CJK}}{}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Configuration that is especially meant to be overridden:
|
|
|
|
% Inserted before every ``chapter'', useful for starting each one on a new page:
|
|
\newcommand{\sectionNewpage}{}
|
|
|
|
% Hooks for actions within the `document' environment:
|
|
\newcommand{\preDoc}{}
|
|
\newcommand{\postDoc}{}
|
|
|
|
% Generated by `secref'; first arg is section number, second is section title:
|
|
\newcommand{\BookRef}[2]{\emph{#2}}
|
|
\newcommand{\ChapRef}[2]{\SecRef{#1}{#2}}
|
|
\newcommand{\SecRef}[2]{section~#1}
|
|
% Generated by `Secref':
|
|
\newcommand{\BookRefUC}[2]{\BookRef{#1}{#2}}
|
|
\newcommand{\ChapRefUC}[2]{\SecRefUC{#1}{#2}}
|
|
\newcommand{\SecRefUC}[2]{Section~#1}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Fonts
|
|
|
|
% Font commands used by generated text:
|
|
\newcommand{\Scribtexttt}[1]{{\texttt{#1}}}
|
|
\newcommand{\textsub}[1]{$_{\hbox{\textsmaller{#1}}}$}
|
|
\newcommand{\textsuper}[1]{$^{\hbox{\textsmaller{#1}}}$}
|
|
\newcommand{\intextcolor}[2]{\textcolor{#1}{#2}}
|
|
\newcommand{\intextrgbcolor}[2]{\textcolor[rgb]{#1}{#2}}
|
|
\newcommand{\incolorbox}[2]{{\fboxrule=0pt\fboxsep=0pt\colorbox{#1}{#2}}}
|
|
\newcommand{\inrgbcolorbox}[2]{{\fboxrule=0pt\fboxsep=0pt\colorbox[rgb]{#1}{#2}}}
|
|
\newcommand{\plainlink}[1]{#1}
|
|
\newcommand{\techoutside}[1]{#1}
|
|
\newcommand{\techinside}[1]{#1}
|
|
\newcommand{\badlink}[1]{#1}
|
|
\newcommand{\indexlink}[1]{#1}
|
|
\newcommand{\noborder}[1]{#1}
|
|
\newcommand{\imageleft}[1]{} % drop it
|
|
\newcommand{\Smaller}[1]{\textsmaller{#1}}
|
|
\newcommand{\Larger}[1]{\textlarger{#1}}
|
|
\newcommand{\planetName}[1]{PLane\hspace{-0.1ex}T}
|
|
\newcommand{\slant}[1]{{\textsl{#1}}}
|
|
|
|
% Used for <, >, and | in tt mode. For some fonts and installations,
|
|
% there seems to be an encoding issue, so pick T1 explicitly:
|
|
\newcommand{\Stttextmore}{{\fontencoding{T1}\selectfont>}}
|
|
\newcommand{\Stttextless}{{\fontencoding{T1}\selectfont<}}
|
|
\newcommand{\Stttextbar}{{\fontencoding{T1}\selectfont|}}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Tables
|
|
|
|
% The `stabular' environment seems to be the lesser of evils among
|
|
% page-breaking table environments:
|
|
\newenvironment{bigtabular}{\begin{stabular}}{\end{stabular}}
|
|
% For the 'boxed table style:
|
|
\newcommand{\SBoxedLeft}{\textcolor[rgb]{0.6,0.6,1.0}{\vrule width 3pt\hspace{3pt}}}
|
|
% Formerly used to keep the horizontal line for a definition on the same page:
|
|
\newcommand{\SEndFirstHead}[0]{ \nopagebreak \\ }
|
|
% Corrects weirdness when a table is the first thing in
|
|
% an itemization:
|
|
\newcommand{\bigtableinlinecorrect}[0]{~
|
|
|
|
\vspace{-\baselineskip}\vspace{\parskip}}
|
|
% Used to indent the table correctly in an itemization, since that's
|
|
% one of the things stabular gets wrong:
|
|
\newlength{\stabLeft}
|
|
\newcommand{\bigtableleftpad}{\hspace{\stabLeft}}
|
|
\newcommand{\atItemizeStart}[0]{\addtolength{\stabLeft}{\labelsep}
|
|
\addtolength{\stabLeft}{\labelwidth}}
|
|
|
|
|
|
% For a single-column table in simple environments, it's better to
|
|
% use the `list' environment instead of `stabular'.
|
|
\newenvironment{SingleColumn}{\begin{list}{}{\topsep=0pt\partopsep=0pt%
|
|
\listparindent=0pt\itemindent=0pt\labelwidth=0pt\leftmargin=0pt\rightmargin=0pt%
|
|
\itemsep=0pt\parsep=0pt}\item}{\end{list}}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
% Etc.
|
|
|
|
% ._ and .__
|
|
\newcommand{\Sendabbrev}[1]{#1\@}
|
|
\newcommand{\Sendsentence}[1]{\@#1}
|
|
|
|
% Default style for a nested flow:
|
|
\newenvironment{Subflow}{\begin{list}{}{\topsep=0pt\partopsep=0pt%
|
|
\listparindent=0pt\itemindent=0pt\labelwidth=0pt\leftmargin=0pt\rightmargin=0pt%
|
|
\itemsep=0pt}\item}{\end{list}}
|
|
|
|
% The 'inset nested-flow style uses the `quote' environment
|
|
|
|
% Indent a 'code-inset nested flow:
|
|
\newcommand{\SCodePreSkip}{\vskip\abovedisplayskip}
|
|
\newcommand{\SCodePostSkip}{\vskip\belowdisplayskip}
|
|
\newenvironment{SCodeFlow}{\SCodePreSkip\begin{list}{}{\topsep=0pt\partopsep=0pt%
|
|
\listparindent=0pt\itemindent=0pt\labelwidth=0pt\leftmargin=2ex\rightmargin=2ex%
|
|
\itemsep=0pt\parsep=0pt}\item}{\end{list}\SCodePostSkip}
|
|
\newcommand{\SCodeInsetBox}[1]{\setbox1=\hbox{\hbox{\hspace{2ex}#1\hspace{2ex}}}\vbox{\SCodePreSkip\vtop{\box1\SCodePostSkip}}}
|
|
|
|
% Inset a 'vertical-inset nested flow:
|
|
\newcommand{\SVInsetPreSkip}{\vskip\abovedisplayskip}
|
|
\newcommand{\SVInsetPostSkip}{\vskip\belowdisplayskip}
|
|
\newenvironment{SVInsetFlow}{\SVInsetPreSkip\begin{list}{}{\topsep=0pt\partopsep=0pt%
|
|
\listparindent=0pt\itemindent=0pt\labelwidth=0pt\leftmargin=0pt\rightmargin=0pt%
|
|
\itemsep=0pt\parsep=0pt}\item}{\end{list}\SVInsetPostSkip}
|
|
\newcommand{\SVInsetBox}[1]{\setbox1=\hbox{\hbox{#1}}\vbox{\SCodePreSkip\vtop{\box1\SCodePostSkip}}}
|
|
|
|
% The 'compact itemization style:
|
|
\newenvironment{compact}{\begin{itemize}}{\end{itemize}}
|
|
\newcommand{\compactItem}[1]{\item #1}
|
|
|
|
% The nested-flow style for `centerline':
|
|
\newenvironment{SCentered}{\begin{trivlist}\item \centering}{\end{trivlist}}
|
|
|
|
% The \refpara command corresponds to `margin-note'. The
|
|
% refcolumn and refcontent environments also wrap the note,
|
|
% because they simplify the CSS side.
|
|
\newcommand{\refpara}[1]{\normalmarginpar\marginpar{\raggedright \footnotesize #1}}
|
|
\newcommand{\refelem}[1]{\refpara{#1}}
|
|
\newenvironment{refcolumn}{}{}
|
|
\newenvironment{refcontent}{}{}
|
|
|
|
\newcommand{\refparaleft}[1]{\reversemarginpar\marginpar{\raggedright \footnotesize #1}}
|
|
\newcommand{\refelemleft}[1]{\refparaleft{#1}}
|
|
\newenvironment{refcolumnleft}{\begin{refcolumn}}{\end{refcolumn}}
|
|
|
|
% Macros used by `title' and `author':
|
|
\newcommand{\titleAndVersionAndAuthors}[3]{\title{#1\\{\normalsize \SVersionBefore{}#2}}\author{#3}\maketitle}
|
|
\newcommand{\titleAndVersionAndEmptyAuthors}[3]{\title{#1\\{\normalsize \SVersionBefore{}#2}}#3\maketitle}
|
|
\newcommand{\titleAndEmptyVersionAndAuthors}[3]{\title{#1}\author{#3}\maketitle}
|
|
\newcommand{\titleAndEmptyVersionAndEmptyAuthors}[3]{\title{#1}\maketitle}
|
|
\newcommand{\SAuthor}[1]{#1}
|
|
\newcommand{\SAuthorSep}[1]{\qquad}
|
|
\newcommand{\SVersionBefore}[1]{Version }
|
|
|
|
% Useful for some styles, such as sigalternate:
|
|
\newcommand{\SNumberOfAuthors}[1]{}
|
|
|
|
% sections
|
|
\newcommand{\Ssection}[2]{\section[#1]{#2}}
|
|
\newcommand{\Ssubsection}[2]{\subsection[#1]{#2}}
|
|
\newcommand{\Ssubsubsection}[2]{\subsubsection[#1]{#2}}
|
|
\newcommand{\Ssubsubsubsection}[2]{{\bf #2}}
|
|
\newcommand{\Ssubsubsubsubsection}[2]{\Ssubsubsubsection{#1}{#2}}
|
|
|
|
\newcommand{\Ssectionstar}[1]{\section*{#1}}
|
|
\newcommand{\Ssubsectionstar}[1]{\subsection*{#1}}
|
|
\newcommand{\Ssubsubsectionstar}[1]{\subsubsection*{#1}}
|
|
\newcommand{\Ssubsubsubsectionstar}[1]{{\bf #1}}
|
|
\newcommand{\Ssubsubsubsubsectionstar}[1]{\Ssubsubsubsectionstar{#1}}
|
|
|
|
\newcommand{\Ssectionhidden}[1]{\sectionhidden{#1}}
|
|
\newcommand{\Ssubsectionhidden}[1]{\subsectionhidden{#1}}
|
|
\newcommand{\Ssubsubsectionhidden}[1]{\subsubsectionhidden{#1}}
|
|
\newcommand{\Ssubsubsubsectionhidden}[1]{\subsubsubsectionhidden{#1}}
|
|
\newcommand{\Ssubsubsubsubsectionhidden}[1]{\Ssubsubsubsectionhidden{#1}}
|
|
|
|
% Used for parts with the 'hidden style variant:
|
|
\newcommand{\sectionhidden}[1]{\Ssection{#1}{#1}}
|
|
\newcommand{\subsectionhidden}[1]{\Ssubsection{#1}{#1}}
|
|
\newcommand{\subsubsectionhidden}[1]{\Ssubsubsection{#1}{#1}}
|
|
\newcommand{\subsubsubsectionhidden}[1]{\Ssubsubsubsection{#1}{#1}}
|
|
|
|
% Generated by `subsubsub*section':
|
|
\newcommand{\SSubSubSubSection}[1]{\Ssubsubsubsubsectionhidden{#1}}
|
|
|
|
% For hidden parts with an empty title:
|
|
\newcommand{\notitlesection}{\vspace{2ex}\phantomsection\noindent}
|
|
|
|
% When brackets appear in section titles:
|
|
\newcommand{\SOpenSq}{[}
|
|
\newcommand{\SCloseSq}{]}
|
|
|
|
% Helper for box-mode macros:
|
|
\newcommand{\Svcenter}[1]{$\vcenter{#1}$}
|
|
|
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
|
|
|
% Scribble then generates the following:
|
|
%
|
|
% \begin{document}
|
|
% \preDoc
|
|
% \titleAndVersion{...}{...}
|
|
% ... document content ...
|
|
% \postDoc
|
|
% \end{document}
|