mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-18 21:40:32 +00:00
added configuration file for TeX
This commit is contained in:
123
config/nimdoc.tex.cfg
Executable file
123
config/nimdoc.tex.cfg
Executable file
@@ -0,0 +1,123 @@
|
||||
# This is the config file for the documentation generator that produces TeX
|
||||
# output.
|
||||
# (c) 2009 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 = """
|
||||
\chapter{$sectionTitle}\label{$sectionID}
|
||||
\begin{description}
|
||||
$content
|
||||
\end{description}
|
||||
"""
|
||||
|
||||
doc.section.toc = ""
|
||||
# $sectionID $sectionTitleID $sectionTitle $content
|
||||
|
||||
doc.item = """
|
||||
\item[\texttt{$header}\label{$itemID}]\mbox{~}\\*
|
||||
$desc
|
||||
"""
|
||||
|
||||
doc.item.toc = ""
|
||||
# \item $name\ref{$itemID}
|
||||
|
||||
doc.toc = r"\tableofcontents \newpage"
|
||||
|
||||
doc.body_toc = """
|
||||
$tableofcontents
|
||||
$moduledesc
|
||||
$content
|
||||
"""
|
||||
|
||||
doc.body_no_toc = """
|
||||
$moduledesc
|
||||
$content
|
||||
"""
|
||||
|
||||
doc.file = """
|
||||
% This file was generated by Nimrod.
|
||||
% 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}
|
||||
|
||||
\begin{document}
|
||||
\title{$title $version}
|
||||
\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}
|
||||
|
||||
% 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{\spanPunctation}[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}}
|
||||
|
||||
$content
|
||||
\end{document}
|
||||
"""
|
||||
@@ -219,6 +219,26 @@ type
|
||||
object of ESynch ## is raised if an object is converted to an incompatible
|
||||
## object type.
|
||||
|
||||
EFloatingPoint* = object of ESynch ## base class for floating point exceptions
|
||||
EFloatInvalidOp* {.compilerproc.} =
|
||||
object of EFloatingPoint ## Invalid operation according to IEEE: Raised by
|
||||
## 0.0/0.0, sqrt(-1.0), and log(-37.8) for example.
|
||||
EFloatDivByZero* {.compilerproc.} =
|
||||
object of EFloatingPoint ## Division by zero. Divisor is zero and dividend
|
||||
## is a finite nonzero number
|
||||
EFloatOverflow* {.compilerproc.} =
|
||||
object of EFloatingPoint ## Overflow. Operation produces a result
|
||||
## that exceeds the range of the exponent
|
||||
EFloatUnderflow* {.compilerproc.} =
|
||||
object of EFloatingPoint ## Underflow. Operation produces a result
|
||||
## that is too small to be represented as
|
||||
## a normal number
|
||||
EFloatInexact* {.compilerproc.} =
|
||||
object of EFloatingPoint ## Inexact. Operation produces a result that cannot
|
||||
## be represented with infinite precision --
|
||||
## for example, 2.0 / 3.0, log(1.1)
|
||||
## NOTE: Nimrod currently does not detect these!
|
||||
|
||||
TResult* = enum Failure, Success
|
||||
|
||||
proc sizeof*[T](x: T): natural {.magic: "SizeOf", noSideEffect.}
|
||||
|
||||
Reference in New Issue
Block a user