153 lines
4.2 KiB
INI
153 lines
4.2 KiB
INI
# This is the config file for the documentation generator that produces TeX
|
|
# output.
|
|
# (c) 2012 Andreas Rumpf
|
|
# Feel free to edit the templates as you need.
|
|
|
|
split.item.toc = "20"
|
|
# too long entries in the table of contents wrap around
|
|
# after this number of characters
|
|
|
|
doc.section = """
|
|
\rsthA{$sectionTitle}\label{$sectionID}
|
|
$content
|
|
"""
|
|
|
|
doc.section.toc = ""
|
|
# $sectionID $sectionTitleID $sectionTitle $content
|
|
|
|
doc.item = """
|
|
|
|
\phantomsection\addcontentsline{toc}{subsection}{$uniqueName}
|
|
|
|
\begin{rstpre}
|
|
$header
|
|
\end{rstpre}
|
|
$desc
|
|
"""
|
|
|
|
doc.item.toc = ""
|
|
|
|
doc.toc = r"\tableofcontents \newpage"
|
|
|
|
doc.body_toc = """
|
|
$tableofcontents
|
|
$moduledesc
|
|
$content
|
|
"""
|
|
|
|
doc.body_no_toc = """
|
|
$moduledesc
|
|
$content
|
|
"""
|
|
|
|
# $1 - number of listing in document, $2 - language (e.g. langNim), $3 - anchor
|
|
doc.listing_start = "\\begin{rstpre}\n"
|
|
doc.listing_end = "\n\\end{rstpre}\n"
|
|
|
|
doc.file = """
|
|
% This file was generated by Nim.
|
|
% Generated: $date $time UTC
|
|
\documentclass[a4paper]{article}
|
|
\usepackage[left=2cm,right=3cm,top=3cm,bottom=3cm]{geometry}
|
|
\usepackage[utf8]{inputenc}
|
|
\usepackage[T1]{fontenc}
|
|
\usepackage{graphicx}
|
|
\usepackage{lmodern}
|
|
\usepackage{fancyvrb, courier}
|
|
\usepackage{tabularx}
|
|
\usepackage{hyperref}
|
|
\usepackage{enumitem} % for option list, enumList, and rstfootnote
|
|
|
|
\usepackage{xcolor}
|
|
\usepackage[tikz]{mdframed}
|
|
\usetikzlibrary{shadows}
|
|
\mdfsetup{%
|
|
linewidth=3,
|
|
topline=false,
|
|
rightline=false,
|
|
bottomline=false}
|
|
|
|
\begin{document}
|
|
\title{$title $version $subtitle}
|
|
\author{$author}
|
|
|
|
\tolerance 1414
|
|
\hbadness 1414
|
|
\emergencystretch 1.5em
|
|
\hfuzz 0.3pt
|
|
\widowpenalty=10000
|
|
\vfuzz \hfuzz
|
|
\raggedbottom
|
|
|
|
\maketitle
|
|
|
|
\newenvironment{rstpre}{\VerbatimEnvironment\begingroup\begin{Verbatim}[fontsize=\footnotesize , commandchars=\\\{\}]}{\end{Verbatim}\endgroup}
|
|
\newenvironment{rstfootnote}{\begin{description}[labelindent=1em,leftmargin=1em,labelwidth=2.6em]}{\end{description}}
|
|
\ifdim\linewidth<30em
|
|
\def\rstoptleftmargin{0.4\linewidth}
|
|
\def\rstoptlabelwidth{0.35\linewidth}
|
|
\else
|
|
\def\rstoptleftmargin{12em}
|
|
\def\rstoptlabelwidth{10.5em}
|
|
\fi
|
|
\newenvironment{rstoptlist}{%
|
|
\begin{description}[font=\sffamily\bfseries,style=nextline,leftmargin=\rstoptleftmargin,labelwidth=\rstoptlabelwidth]}{\end{description}}
|
|
|
|
% to pack tabularx into a new environment, special syntax is needed :-(
|
|
\newenvironment{rsttab}[1]{\tabularx{\linewidth}{#1}}{\endtabularx}
|
|
|
|
\newcommand{\rstsub}[1]{\raisebox{-0.5ex}{\scriptsize{#1}}}
|
|
\newcommand{\rstsup}[1]{\raisebox{0.5ex}{\scriptsize{#1}}}
|
|
|
|
\newcommand{\rsthA}[1]{\section{#1}}
|
|
\newcommand{\rsthB}[1]{\subsection{#1}}
|
|
\newcommand{\rsthC}[1]{\subsubsection{#1}}
|
|
\newcommand{\rsthD}[1]{\paragraph{#1}}
|
|
\newcommand{\rsthE}[1]{\paragraph{#1}}
|
|
|
|
\newcommand{\rstovA}[1]{\section*{#1}}
|
|
\newcommand{\rstovB}[1]{\subsection*{#1}}
|
|
\newcommand{\rstovC}[1]{\subsubsection*{#1}}
|
|
\newcommand{\rstovD}[1]{\paragraph*{#1}}
|
|
\newcommand{\rstovE}[1]{\paragraph*{#1}}
|
|
|
|
% Syntax highlighting:
|
|
\newcommand{\spanDecNumber}[1]{#1}
|
|
\newcommand{\spanBinNumber}[1]{#1}
|
|
\newcommand{\spanHexNumber}[1]{#1}
|
|
\newcommand{\spanOctNumber}[1]{#1}
|
|
\newcommand{\spanFloatNumber}[1]{#1}
|
|
\newcommand{\spanIdentifier}[1]{#1}
|
|
\newcommand{\spanKeyword}[1]{\textbf{#1}}
|
|
\newcommand{\spanStringLit}[1]{#1}
|
|
\newcommand{\spanLongStringLit}[1]{#1}
|
|
\newcommand{\spanCharLit}[1]{#1}
|
|
\newcommand{\spanEscapeSequence}[1]{#1}
|
|
\newcommand{\spanOperator}[1]{#1}
|
|
\newcommand{\spanPunctuation}[1]{#1}
|
|
\newcommand{\spanComment}[1]{\emph{#1}}
|
|
\newcommand{\spanLongComment}[1]{\emph{#1}}
|
|
\newcommand{\spanRegularExpression}[1]{#1}
|
|
\newcommand{\spanTagStart}[1]{#1}
|
|
\newcommand{\spanTagEnd}[1]{#1}
|
|
\newcommand{\spanKey}[1]{#1}
|
|
\newcommand{\spanValue}[1]{#1}
|
|
\newcommand{\spanRawData}[1]{#1}
|
|
\newcommand{\spanAssembler}[1]{#1}
|
|
\newcommand{\spanPreprocessor}[1]{#1}
|
|
\newcommand{\spanDirective}[1]{#1}
|
|
\newcommand{\spanCommand}[1]{#1}
|
|
\newcommand{\spanRule}[1]{#1}
|
|
\newcommand{\spanHyperlink}[1]{#1}
|
|
\newcommand{\spanLabel}[1]{#1}
|
|
\newcommand{\spanReference}[1]{#1}
|
|
\newcommand{\spanOther}[1]{#1}
|
|
\newcommand{\spantok}[1]{\frame{#1}}
|
|
\newcommand{\spanPrompt}[1]{\textcolor{red}{\textbf{#1}}}
|
|
\newcommand{\spanProgramOutput}[1]{\textcolor{gray}{\textbf{#1}}}
|
|
\newcommand{\spanprogram}[1]{\textbf{\underline{#1}}}
|
|
\newcommand{\spanoption}[1]{\textbf{#1}}
|
|
|
|
$content
|
|
\end{document}
|
|
"""
|