srcanamdw/codescanner/pyinstaller/doc/stylesheets/latex.tex
author noe\swadi
Thu, 18 Feb 2010 12:29:02 +0530
changeset 1 22878952f6e2
permissions -rw-r--r--
Committing the CodeScanner Core tool This component has been moved from the StaticAnaApps package. BUG : 5889 (http://developer.symbian.org/webbugs/show_bug.cgi?id=5889).
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     1
\makeatletter
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     2
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     3
% Development notes at
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     4
% http://docutils.python-hosting.com/wiki/NewLatex
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     5
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     6
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     7
\providecommand{\Dprinting}{false}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     8
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
     9
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    10
\providecommand{\DSearly}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    11
\providecommand{\DSlate}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    12
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    13
\providecommand{\Ddocumentclass}{scrartcl}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    14
\providecommand{\Ddocumentoptions}{a4paper}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    15
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    16
\documentclass[\Ddocumentoptions]{\Ddocumentclass}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    17
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    18
\DSearly
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    19
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    20
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    21
\providecommand{\DSfontencoding}{
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    22
  % Set up font encoding.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    23
  % AE is a T1-emulation.  It provides most characters and features
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    24
  % as T1-encoded fonts but doesn't use ugly bitmap fonts.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    25
  \usepackage{ae}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    26
  % Provide the characters not contained in AE from EC bitmap fonts.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    27
  \usepackage{aecompl}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    28
  % Guillemets ("<<", ">>") in AE.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    29
  \usepackage{aeguill}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    30
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    31
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    32
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    33
\providecommand{\DSsymbols}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    34
  % Fix up symbols.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    35
  % The Euro symbol in Computer Modern looks, um, funny.  Let's get a
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    36
  % proper Euro symbol.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    37
  \RequirePackage{eurosym}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    38
  \renewcommand{\texteuro}{\euro}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    39
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    40
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    41
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    42
% Taken from
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    43
% <http://groups.google.de/groups?selm=1i0n5tgtplti420e1omp4pctlv19jpuhbb%404ax.com>
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    44
% and modified.  Used with permission.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    45
\providecommand{\Dprovidelength}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    46
  \begingroup%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    47
    \escapechar\m@ne%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    48
    \xdef\@gtempa{{\string#1}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    49
  \endgroup%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    50
  \expandafter\@ifundefined\@gtempa%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    51
  {\newlength{#1}\setlength{#1}{#2}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    52
  {}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    53
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    54
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    55
\providecommand{\Dprovidecounter}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    56
  % Like \newcounter except that it doesn't crash if the counter
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    57
  % already exists.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    58
  \@ifundefined{c@#1}{\newcounter{#1}}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    59
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    60
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    61
\Dprovidelength{\Dboxparindent}{\parindent}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    62
\providecommand{\Dmakeboxminipage}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    63
  % Make minipage for use in a box created by \Dmakefbox.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    64
  \begin{minipage}[t]{0.9\linewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    65
    \setlength{\parindent}{\Dboxparindent}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    66
    #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    67
  \end{minipage}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    68
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    69
\providecommand{\Dmakefbox}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    70
  % Make a centered, framed box.  Useful e.g. for admonitions.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    71
  \vspace{0.4\baselineskip}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    72
  \begin{center}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    73
    \fbox{\Dmakeboxminipage{#1}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    74
  \end{center}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    75
  \vspace{0.4\baselineskip}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    76
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    77
\providecommand{\Dmakebox}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    78
  % Make a centered, frameless box.  Useful e.g. for block quotes.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    79
  % Do not use minipages here, but create pseudo-lists to allow
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    80
  % page-breaking.  (Don't use KOMA-script's addmargin environment
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    81
  % because it messes up bullet lists.)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    82
  \Dmakelistenvironment{}{}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    83
    \setlength{\parskip}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    84
    \setlength{\parindent}{\Dboxparindent}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    85
    \item{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    86
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    87
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    88
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    89
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    90
\RequirePackage{ifthen}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    91
\providecommand{\Dfrenchspacing}{true}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    92
\ifthenelse{\equal{\Dfrenchspacing}{true}}{\frenchspacing}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    93
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    94
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    95
\Dprovidelength{\Dblocklevelvspace}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    96
  % Space between block-level elements other than paragraphs.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    97
  0.7\baselineskip plus 0.3\baselineskip minus 0.2\baselineskip%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    98
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
    99
\providecommand{\Dauxiliaryspace}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   100
  \ifthenelse{\equal{\Dneedvspace}{true}}{\vspace{\Dblocklevelvspace}}{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   101
  \par\noindent%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   102
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   103
\providecommand{\Dauxiliaryparspace}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   104
  \ifthenelse{\equal{\Dneedvspace}{true}}{\vspace{\Dblocklevelvspace}}{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   105
  \par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   106
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   107
\providecommand{\Dparagraphspace}{\par}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   108
\providecommand{\Dneedvspace}{true}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   109
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   110
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   111
\providecommand{\DSlinks}{
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   112
  % Targets and references.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   113
  \RequirePackage[colorlinks=false,pdfborder={0 0 0}]{hyperref}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   114
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   115
  \providecommand{\Draisedlink}[1]{\Hy@raisedlink{##1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   116
  
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   117
  % References.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   118
  % We're assuming here that the "refid" and "refuri" attributes occur
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   119
  % only in inline context (in TextElements).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   120
  \providecommand{\DArefid}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   121
    \ifthenelse{\equal{##4}{reference}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   122
      \Dexplicitreference{\###3}{##5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   123
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   124
      % If this is not a target node (targets with refids are
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   125
      % uninteresting and should be silently dropped).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   126
      \ifthenelse{\not\equal{##4}{target}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   127
        % If this is a footnote reference, call special macro.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   128
        \ifthenelse{\equal{##4}{footnotereference}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   129
          \Dimplicitfootnotereference{\###3}{##5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   130
        }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   131
          \ifthenelse{\equal{##4}{citationreference}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   132
            \Dimplicitcitationreference{\###3}{##5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   133
          }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   134
            \Dimplicitreference{\###3}{##5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   135
          }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   136
        }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   137
      }{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   138
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   139
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   140
  \providecommand{\DArefuri}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   141
    \ifthenelse{\equal{##4}{target}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   142
      % Hyperlink targets can (and should be) ignored because they are
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   143
      % invisible.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   144
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   145
      % We only have explicit URI references, so one macro suffices.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   146
      \Durireference{##3}{##5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   147
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   148
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   149
  % Targets.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   150
  \providecommand{\DAids}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   151
    \label{##3}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   152
    \ifthenelse{\equal{##4}{footnotereference}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   153
      {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   154
        \renewcommand{\HyperRaiseLinkDefault}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   155
          % Dirty hack to make backrefs to footnote references work.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   156
          % For some reason, \baselineskip is 0pt in fn references.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   157
          0.5\Doriginalbaselineskip%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   158
        }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   159
        \Draisedlink{\hypertarget{##3}{}}##5%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   160
      }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   161
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   162
      \Draisedlink{\hypertarget{##3}{}}##5%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   163
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   164
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   165
  % Color in references.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   166
  \RequirePackage{color}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   167
  \providecommand{\Dimplicitreference}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   168
    % Create implicit reference to ID.  Implicit references occur
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   169
    % e.g. in TOC-backlinks of section titles.  Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   170
    % 1. Target.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   171
    % 2. Link text.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   172
    \href{##1}{##2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   173
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   174
  \providecommand{\Dimplicitfootnotereference}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   175
    % Ditto, but for the special case of footnotes.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   176
    % We want them to be rendered like explicit references.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   177
    \Dexplicitreference{##1}{##2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   178
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   179
  \providecommand{\Dimplicitcitationreference}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   180
    % Ditto for citation references.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   181
    \Dimplicitfootnotereference{##1}{##2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   182
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   183
  \ifthenelse{\equal{\Dprinting}{true}}{
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   184
    \providecommand{\Dexplicitreferencecolor}{black}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   185
  }{
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   186
    \providecommand{\Dexplicitreferencecolor}{blue}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   187
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   188
  \providecommand{\Dexplicitreference}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   189
    % Create explicit reference to ID, e.g. created with "foo_".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   190
    % Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   191
    % 1. Target.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   192
    % 2. Link text.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   193
    \href{##1}{{\color{\Dexplicitreferencecolor}##2}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   194
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   195
  \providecommand{\Durireferencecolor}{\Dexplicitreferencecolor}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   196
  \providecommand{\Durireference}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   197
    % Create reference to URI.  Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   198
    % 1. Target.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   199
    % 2. Link text.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   200
    \href{##1}{{\color{\Durireferencecolor}##2}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   201
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   202
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   203
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   204
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   205
\providecommand{\DSlanguage}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   206
  % Set up babel.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   207
  \ifthenelse{\equal{\Dlanguagebabel}{}}{}{
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   208
    \RequirePackage[\Dlanguagebabel]{babel}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   209
  }
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   210
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   211
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   212
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   213
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   214
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   215
\providecommand{\DAclasses}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   216
  \Difdefined{DN#4C#3}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   217
    % Pass only contents, nothing else!
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   218
    \csname DN#4C#3\endcsname{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   219
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   220
    \Difdefined{DC#3}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   221
      \csname DC#3\endcsname{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   222
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   223
      #5%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   224
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   225
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   226
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   227
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   228
\providecommand{\Difdefined}[3]{\@ifundefined{#1}{#3}{#2}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   229
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   230
\providecommand{\Dattr}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   231
  % Global attribute dispatcher.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   232
  % Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   233
  % 1. Attribute number.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   234
  % 2. Attribute name.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   235
  % 3. Attribute value.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   236
  % 4. Node name.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   237
  % 5. Node contents.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   238
  \Difdefined{DN#4A#2V#3}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   239
    \csname DN#4A#2V#3\endcsname{#1}{#2}{#3}{#4}{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   240
  }{\Difdefined{DN#4A#2}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   241
    \csname DN#4A#2\endcsname{#1}{#2}{#3}{#4}{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   242
  }{\Difdefined{DA#2V#3}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   243
    \csname DA#2V#3\endcsname{#1}{#2}{#3}{#4}{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   244
  }{\Difdefined{DA#2}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   245
    \csname DA#2\endcsname{#1}{#2}{#3}{#4}{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   246
  }{#5%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   247
  }}}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   248
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   249
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   250
\providecommand{\DNparagraph}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   251
\providecommand{\Dformatboxtitle}[1]{{\Large\textbf{#1}}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   252
\providecommand{\Dformatboxsubtitle}[1]{{\large\textbf{#1}}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   253
\providecommand{\Dtopictitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   254
  \Difinsidetoc{\vspace{1em}\par}{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   255
  \noindent\Dformatboxtitle{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   256
  \ifthenelse{\equal{\Dhassubtitle}{false}}{\vspace{1em}}{\vspace{0.5em}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   257
  \par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   258
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   259
\providecommand{\Dtopicsubtitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   260
  \noindent\Dformatboxsubtitle{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   261
  \vspace{1em}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   262
  \par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   263
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   264
\providecommand{\Dsidebartitle}[1]{\Dtopictitle{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   265
\providecommand{\Dsidebarsubtitle}[1]{\Dtopicsubtitle{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   266
\providecommand{\Ddocumenttitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   267
  \begin{center}{\Huge#1}\end{center}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   268
  \ifthenelse{\equal{\Dhassubtitle}{true}}{\vspace{0.1cm}}{\vspace{1cm}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   269
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   270
\providecommand{\Ddocumentsubtitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   271
  \begin{center}{\huge#1}\end{center}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   272
  \vspace{1cm}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   273
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   274
% Can be overwritten by user stylesheet.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   275
\providecommand{\Dformatsectiontitle}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   276
\providecommand{\Dformatsectionsubtitle}[1]{\Dformatsectiontitle{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   277
\providecommand{\Dbookmarksectiontitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   278
  % Return text suitable for use in \section*, \subsection*, etc.,
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   279
  % containing a PDF bookmark.  Parameter:  The title (as node tree).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   280
  \Draisedlink{\Dpdfbookmark{\Dtitleastext}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   281
  #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   282
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   283
\providecommand{\Dsectiontitlehook}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   284
\providecommand{\Dsectiontitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   285
  \Dsectiontitlehook{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   286
    \Ddispatchsectiontitle{\Dbookmarksectiontitle{\Dformatsectiontitle{#1}}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   287
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   288
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   289
\providecommand{\Ddispatchsectiontitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   290
  \@ifundefined{Dsectiontitle\roman{Dsectionlevel}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   291
    \Ddeepsectiontitle{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   292
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   293
    \csname Dsectiontitle\roman{Dsectionlevel}\endcsname{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   294
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   295
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   296
\providecommand{\Ddispatchsectionsubtitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   297
  \Ddispatchsectiontitle{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   298
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   299
\providecommand{\Dsectiontitlei}[1]{\section*{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   300
\providecommand{\Dsectiontitleii}[1]{\subsection*{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   301
\providecommand{\Ddeepsectiontitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   302
  % Anything below \subsubsection (like \paragraph or \subparagraph)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   303
  % is useless because it uses the same font.  The only way to
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   304
  % (visually) distinguish such deeply nested sections is to use
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   305
  % section numbering.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   306
  \subsubsection*{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   307
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   308
\providecommand{\Dsectionsubtitlehook}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   309
\Dprovidelength{\Dsectionsubtitleraisedistance}{0.7em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   310
\providecommand{\Dsectionsubtitlescaling}{0.85}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   311
\providecommand{\Dsectionsubtitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   312
  \Dsectionsubtitlehook{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   313
    % Move the subtitle nearer to the title.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   314
    \vspace{-\Dsectionsubtitleraisedistance}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   315
    % Don't create a PDF bookmark.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   316
    \Ddispatchsectionsubtitle{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   317
      \Dformatsectionsubtitle{\scalebox{\Dsectionsubtitlescaling}{#1}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   318
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   319
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   320
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   321
% Boolean variable.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   322
\providecommand{\Dhassubtitle}{false}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   323
\providecommand{\DNtitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   324
  \csname D\Dparent title\endcsname{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   325
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   326
\providecommand{\DNsubtitle}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   327
  \csname D\Dparent subtitle\endcsname{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   328
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   329
\newcounter{Dpdfbookmarkid}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   330
\setcounter{Dpdfbookmarkid}{0}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   331
\providecommand{\Dpdfbookmark}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   332
  % Temporarily decrement Desctionlevel counter.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   333
  \addtocounter{Dsectionlevel}{-1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   334
  %\typeout{\arabic{Dsectionlevel}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   335
  %\typeout{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   336
  %\typeout{docutils\roman{Dpdfbookmarkid}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   337
  %\typeout{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   338
  \pdfbookmark[\arabic{Dsectionlevel}]{#1}{docutils\arabic{Dpdfbookmarkid}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   339
  \addtocounter{Dsectionlevel}{1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   340
  \addtocounter{Dpdfbookmarkid}{1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   341
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   342
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   343
%\providecommand{\DNliteralblock}[1]{\begin{quote}\ttfamily\raggedright#1\end{quote}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   344
\providecommand{\DNliteralblock}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   345
  \Dmakelistenvironment{}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   346
    \ifthenelse{\equal{\Dinsidetabular}{true}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   347
      \setlength{\leftmargin}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   348
    }{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   349
    \setlength{\rightmargin}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   350
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   351
    \raggedright\item\noindent\nohyphens{\textnhtt{#1\Dfinalstrut}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   352
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   353
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   354
\providecommand{\DNdoctestblock}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   355
  % Treat doctest blocks the same as literal blocks.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   356
  \DNliteralblock{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   357
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   358
\RequirePackage{hyphenat}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   359
\providecommand{\DNliteral}[1]{\textnhtt{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   360
\providecommand{\DNemphasis}[1]{\emph{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   361
\providecommand{\DNstrong}[1]{\textbf{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   362
\providecommand{\Dvisitdocument}{\begin{document}\noindent}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   363
\providecommand{\Ddepartdocument}{\end{document}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   364
\providecommand{\DNtopic}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   365
  \ifthenelse{\equal{\DcurrentNtopicAcontents}{1}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   366
    \addtocounter{Dtoclevel}{1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   367
    \par\noindent%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   368
    #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   369
    \addtocounter{Dtoclevel}{-1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   370
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   371
    \par\noindent%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   372
    \Dmakebox{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   373
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   374
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   375
\providecommand{\Dformatrubric}[1]{\textbf{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   376
\Dprovidelength{\Dprerubricspace}{0.3em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   377
\providecommand{\DNrubric}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   378
  \vspace{\Dprerubricspace}\par\noindent\Dformatrubric{#1}\par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   379
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   380
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   381
\providecommand{\Dbullet}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   382
\providecommand{\Dsetbullet}[1]{\renewcommand{\Dbullet}{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   383
\providecommand{\DNbulletlist}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   384
  \Difinsidetoc{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   385
    \Dtocbulletlist{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   386
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   387
    \Dmakelistenvironment{\Dbullet}{}{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   388
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   389
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   390
\renewcommand{\@pnumwidth}{2.2em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   391
\providecommand{\DNlistitem}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   392
  \Difinsidetoc{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   393
    \ifthenelse{\equal{\theDtoclevel}{1}\and\equal{\Dlocaltoc}{false}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   394
      {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   395
        \par\addvspace{1em}\noindent%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   396
        \sectfont%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   397
        #1\hfill\pageref{\DcurrentNlistitemAtocrefid}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   398
      }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   399
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   400
      \@dottedtocline{0}{\Dtocindent}{0em}{#1}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   401
        \pageref{\DcurrentNlistitemAtocrefid}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   402
      }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   403
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   404
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   405
    \item{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   406
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   407
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   408
\providecommand{\DNenumeratedlist}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   409
\newcounter{Dsectionlevel}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   410
\providecommand{\Dvisitsectionhook}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   411
\providecommand{\Ddepartsectionhook}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   412
\providecommand{\Dvisitsection}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   413
  \addtocounter{Dsectionlevel}{1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   414
  \Dvisitsectionhook%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   415
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   416
\providecommand{\Ddepartsection}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   417
  \Ddepartsectionhook%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   418
  \addtocounter{Dsectionlevel}{-1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   419
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   420
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   421
% Using \_ will cause hyphenation after _ even in \textnhtt-typewriter
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   422
% because the hyphenat package redefines \_.  So we use
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   423
% \textunderscore here.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   424
\providecommand{\Dtextunderscore}{\textunderscore}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   425
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   426
\providecommand{\Dtextinlineliteralfirstspace}{{ }}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   427
\providecommand{\Dtextinlineliteralsecondspace}{{~}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   428
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   429
\Dprovidelength{\Dlistspacing}{0.8\baselineskip}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   430
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   431
\providecommand{\Dsetlistrightmargin}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   432
  \ifthenelse{\lengthtest{\linewidth>10em}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   433
    % Equal margins.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   434
    \setlength{\rightmargin}{\leftmargin}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   435
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   436
    % If the line is narrower than 10em, we don't remove any further
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   437
    % space from the right.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   438
    \setlength{\rightmargin}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   439
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   440
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   441
\providecommand{\Dresetlistdepth}{false}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   442
\Dprovidelength{\Doriginallabelsep}{\labelsep}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   443
\providecommand{\Dmakelistenvironment}[3]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   444
  % Make list environment with support for unlimited nesting and with
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   445
  % reasonable default lengths.  Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   446
  % 1. Label (same as in list environment).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   447
  % 2. Spacing (same as in list environment).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   448
  % 3. List contents (contents of list environment).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   449
  \ifthenelse{\equal{\Dinsidetabular}{true}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   450
    % Unfortunately, vertical spacing doesn't work correctly when
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   451
    % using lists inside tabular environments, so we use a minipage.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   452
    \begin{minipage}[t]{\linewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   453
  }{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   454
    {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   455
      \renewcommand{\Dneedvspace}{false}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   456
      % \parsep0.5\baselineskip
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   457
      \renewcommand{\Dresetlistdepth}{false}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   458
      \ifnum \@listdepth>5%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   459
      \protect\renewcommand{\Dresetlistdepth}{true}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   460
      \@listdepth=5%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   461
      \fi%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   462
      \begin{list}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   463
          #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   464
        }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   465
          \setlength{\itemsep}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   466
          \setlength{\partopsep}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   467
          \setlength{\topsep}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   468
                                  % List should take 90% of total width.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   469
          \setlength{\leftmargin}{0.05\linewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   470
          \ifthenelse{\lengthtest{\leftmargin<1.8em}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   471
            \setlength{\leftmargin}{1.8em}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   472
          }{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   473
          \setlength{\labelsep}{\Doriginallabelsep}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   474
          \Dsetlistrightmargin%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   475
          #2%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   476
        }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   477
          #3%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   478
        }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   479
      \end{list}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   480
      \ifthenelse{\equal{\Dresetlistdepth}{true}}{\@listdepth=5}{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   481
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   482
  \ifthenelse{\equal{\Dinsidetabular}{true}}{\end{minipage}}{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   483
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   484
\providecommand{\Dfinalstrut}{\@finalstrut\@arstrutbox}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   485
\providecommand{\DAlastitem}[5]{#5\Dfinalstrut}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   486
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   487
\Dprovidelength{\Ditemsep}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   488
\providecommand{\Dmakeenumeratedlist}[6]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   489
  % Make enumerated list.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   490
  % Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   491
  % - prefix
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   492
  % - type (\arabic, \roman, ...)
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   493
  % - suffix
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   494
  % - suggested counter name
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   495
  % - start number - 1
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   496
  % - list contents
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   497
  \newcounter{#4}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   498
  \Dmakelistenvironment{#1#2{#4}#3}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   499
    % Use as much space as needed for the label.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   500
    \setlength{\labelwidth}{10em}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   501
    % Reserve enough space so that the label doesn't go beyond the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   502
    % left margin of preceding paragraphs.  Like that:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   503
    %
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   504
    %    A paragraph.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   505
    %
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   506
    %   1. First item.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   507
    \setlength{\leftmargin}{2.5em}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   508
    \Dsetlistrightmargin%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   509
    \setlength{\itemsep}{\Ditemsep}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   510
    % Use counter recommended by Python module.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   511
    \usecounter{#4}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   512
    % Set start value.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   513
    \addtocounter{#4}{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   514
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   515
    % The list contents.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   516
    #6%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   517
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   518
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   519
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   520
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   521
% Single quote in literal mode.  \textquotesingle from package
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   522
% textcomp has wrong width when using package ae, so we use a normal
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   523
% single curly quote here.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   524
\providecommand{\Dtextliteralsinglequote}{'}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   525
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   526
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   527
% "Tabular lists" are field lists and options lists (not definition
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   528
% lists because there the term always appears on its own line).  We'll
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   529
% use the terminology of field lists now ("field", "field name",
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   530
% "field body"), but the same is also analogously applicable to option
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   531
% lists.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   532
%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   533
% We want these lists to be breakable across pages.  We cannot
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   534
% automatically get the narrowest possible size for the left column
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   535
% (i.e. the field names or option groups) because tabularx does not
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   536
% support multi-page tables, ltxtable needs to have the table in an
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   537
% external file and we don't want to clutter the user's directories
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   538
% with auxiliary files created by the filecontents environment, and
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   539
% ltablex is not included in teTeX.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   540
%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   541
% Thus we set a fixed length for the left column and use list
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   542
% environments.  This also has the nice side effect that breaking is
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   543
% now possible anywhere, not just between fields.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   544
%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   545
% Note that we are creating a distinct list environment for each
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   546
% field.  There is no macro for a whole tabular list!
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   547
\Dprovidelength{\Dtabularlistfieldnamewidth}{6em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   548
\Dprovidelength{\Dtabularlistfieldnamesep}{0.5em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   549
\providecommand{\Dinsidetabular}{false}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   550
\providecommand{\Dsavefieldname}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   551
\providecommand{\Dsavefieldbody}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   552
\Dprovidelength{\Dusedfieldnamewidth}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   553
\Dprovidelength{\Drealfieldnamewidth}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   554
\providecommand{\Dtabularlistfieldname}[1]{\renewcommand{\Dsavefieldname}{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   555
\providecommand{\Dtabularlistfieldbody}[1]{\renewcommand{\Dsavefieldbody}{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   556
\Dprovidelength{\Dparskiptemp}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   557
\providecommand{\Dtabularlistfield}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   558
  {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   559
    % This only saves field name and field body in \Dsavefieldname and
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   560
    % \Dsavefieldbody, resp.  It does not insert any text into the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   561
    % document.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   562
    #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   563
    % Recalculate the real field name width everytime we encounter a
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   564
    % tabular list field because it may have been changed using a
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   565
    % "raw" node.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   566
    \setlength{\Drealfieldnamewidth}{\Dtabularlistfieldnamewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   567
    \addtolength{\Drealfieldnamewidth}{\Dtabularlistfieldnamesep}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   568
    \Dmakelistenvironment{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   569
      \makebox[\Drealfieldnamewidth][l]{\Dsavefieldname}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   570
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   571
      \setlength{\labelwidth}{\Drealfieldnamewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   572
      \setlength{\leftmargin}{\Drealfieldnamewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   573
      \setlength{\rightmargin}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   574
      \setlength{\labelsep}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   575
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   576
      \item%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   577
      \settowidth{\Dusedfieldnamewidth}{\Dsavefieldname}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   578
      \setlength{\Dparskiptemp}{\parskip}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   579
      \ifthenelse{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   580
        \lengthtest{\Dusedfieldnamewidth>\Dtabularlistfieldnamewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   581
      }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   582
        \mbox{}\par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   583
        \setlength{\parskip}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   584
      }{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   585
      \Dsavefieldbody%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   586
      \setlength{\parskip}{\Dparskiptemp}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   587
      %XXX Why did we need this?
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   588
      %\@finalstrut\@arstrutbox%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   589
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   590
    \par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   591
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   592
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   593
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   594
\providecommand{\Dformatfieldname}[1]{\textbf{#1:}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   595
\providecommand{\DNfieldlist}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   596
\providecommand{\DNfield}[1]{\Dtabularlistfield{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   597
\providecommand{\DNfieldname}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   598
  \Dtabularlistfieldname{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   599
    \Dformatfieldname{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   600
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   601
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   602
\providecommand{\DNfieldbody}[1]{\Dtabularlistfieldbody{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   603
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   604
\providecommand{\Dformatoptiongroup}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   605
  % Format option group, e.g. "-f file, --input file".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   606
  \texttt{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   607
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   608
\providecommand{\Dformatoption}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   609
  % Format option, e.g. "-f file".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   610
  % Put into mbox to avoid line-breaking at spaces.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   611
  \mbox{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   612
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   613
\providecommand{\Dformatoptionstring}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   614
  % Format option string, e.g. "-f".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   615
  #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   616
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   617
\providecommand{\Dformatoptionargument}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   618
  % Format option argument, e.g. "file".
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   619
  \textsl{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   620
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   621
\providecommand{\Dformatoptiondescription}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   622
  % Format option description, e.g.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   623
  % "\DNparagraph{Read input data from file.}"
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   624
  #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   625
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   626
\providecommand{\DNoptionlist}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   627
\providecommand{\Doptiongroupjoiner}{,{ }}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   628
\providecommand{\Disfirstoption}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   629
  % Auxiliary macro indicating if a given option is the first child
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   630
  % of its option group (if it's not, it has to preceded by
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   631
  % \Doptiongroupjoiner).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   632
  false%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   633
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   634
\providecommand{\DNoptionlistitem}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   635
  \Dtabularlistfield{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   636
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   637
\providecommand{\DNoptiongroup}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   638
  \renewcommand{\Disfirstoption}{true}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   639
  \Dtabularlistfieldname{\Dformatoptiongroup{#1}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   640
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   641
\providecommand{\DNoption}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   642
  % If this is not the first option in this option group, add a
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   643
  % joiner.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   644
  \ifthenelse{\equal{\Disfirstoption}{true}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   645
    \renewcommand{\Disfirstoption}{false}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   646
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   647
    \Doptiongroupjoiner%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   648
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   649
  \Dformatoption{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   650
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   651
\providecommand{\DNoptionstring}[1]{\Dformatoptionstring{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   652
\providecommand{\DNoptionargument}[1]{{ }\Dformatoptionargument{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   653
\providecommand{\DNdescription}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   654
  \Dtabularlistfieldbody{\Dformatoptiondescription{#1}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   655
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   656
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   657
\providecommand{\DNdefinitionlist}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   658
  \begin{description}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   659
    \parskip0pt%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   660
    #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   661
  \end{description}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   662
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   663
\providecommand{\DNdefinitionlistitem}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   664
  % LaTeX expects the label in square brackets; we provide an empty
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   665
  % label.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   666
  \item[]#1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   667
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   668
\providecommand{\Dformatterm}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   669
\providecommand{\DNterm}[1]{\hspace{-5pt}\Dformatterm{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   670
% I'm still not sure what's the best rendering for classifiers.  The
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   671
% colon syntax is used by reStructuredText, so it's at least WYSIWYG.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   672
% Use slanted text because italic would cause too much emphasis.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   673
\providecommand{\Dformatclassifier}[1]{\textsl{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   674
\providecommand{\DNclassifier}[1]{~:~\Dformatclassifier{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   675
\providecommand{\Dformatdefinition}[1]{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   676
\providecommand{\DNdefinition}[1]{\par\Dformatdefinition{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   677
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   678
\providecommand{\Dlineblockindentation}{2.5em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   679
\providecommand{\DNlineblock}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   680
  \Dmakelistenvironment{}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   681
    \ifthenelse{\equal{\Dparent}{lineblock}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   682
      % Parent is a line block, so indent.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   683
      \setlength{\leftmargin}{\Dlineblockindentation}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   684
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   685
      % At top level; don't indent.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   686
      \setlength{\leftmargin}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   687
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   688
    \setlength{\rightmargin}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   689
    \setlength{\parsep}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   690
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   691
    #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   692
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   693
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   694
\providecommand{\DNline}[1]{\item#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   695
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   696
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   697
\providecommand{\DNtransition}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   698
  \raisebox{0.25em}{\parbox{\linewidth}{\hspace*{\fill}\hrulefill\hrulefill\hspace*{\fill}}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   699
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   700
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   701
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   702
\providecommand{\Dformatblockquote}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   703
  % Format contents of block quote.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   704
  % This occurs in block-level context, so we cannot use \textsl.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   705
  {\slshape#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   706
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   707
\providecommand{\Dformatattribution}[1]{---\textup{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   708
\providecommand{\DNblockquote}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   709
  \Dmakebox{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   710
    \Dformatblockquote{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   711
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   712
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   713
\providecommand{\DNattribution}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   714
  \par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   715
  \begin{flushright}\Dformatattribution{#1}\end{flushright}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   716
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   717
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   718
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   719
% Sidebars:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   720
\RequirePackage{picins}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   721
% Vertical and horizontal margins.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   722
\Dprovidelength{\Dsidebarvmargin}{0.5em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   723
\Dprovidelength{\Dsidebarhmargin}{1em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   724
% Padding (space between contents and frame).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   725
\Dprovidelength{\Dsidebarpadding}{1em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   726
% Frame width.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   727
\Dprovidelength{\Dsidebarframewidth}{2\fboxrule}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   728
% Position ("l" or "r").
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   729
\providecommand{\Dsidebarposition}{r}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   730
% Width.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   731
\Dprovidelength{\Dsidebarwidth}{0.45\linewidth}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   732
\providecommand{\DNsidebar}[1]{
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   733
  \parpic[\Dsidebarposition]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   734
    \begin{minipage}[t]{\Dsidebarwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   735
      % Doing this with nested minipages is ugly, but I haven't found
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   736
      % another way to place vertical space before and after the fbox.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   737
      \vspace{\Dsidebarvmargin}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   738
      {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   739
        \setlength{\fboxrule}{\Dsidebarframewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   740
        \setlength{\fboxsep}{\Dsidebarpadding}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   741
        \fbox{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   742
          \begin{minipage}[t]{\linewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   743
            \setlength{\parindent}{\Dboxparindent}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   744
            #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   745
          \end{minipage}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   746
        }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   747
      }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   748
      \vspace{\Dsidebarvmargin}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   749
    \end{minipage}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   750
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   751
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   752
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   753
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   754
% Citations and footnotes.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   755
\providecommand{\Dformatfootnote}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   756
  % Format footnote.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   757
  {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   758
    \footnotesize#1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   759
    % \par is necessary for LaTeX to adjust baselineskip to the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   760
    % changed font size.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   761
    \par%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   762
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   763
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   764
\providecommand{\Dformatcitation}[1]{\Dformatfootnote{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   765
\Dprovidelength{\Doriginalbaselineskip}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   766
\providecommand{\DNfootnotereference}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   767
  {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   768
    % \baselineskip is 0pt in \textsuperscript, so we save it here.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   769
    \setlength{\Doriginalbaselineskip}{\baselineskip}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   770
    \textsuperscript{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   771
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   772
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   773
\providecommand{\DNcitationreference}[1]{{[}#1{]}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   774
\Dprovidelength{\Dfootnotesep}{3.5pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   775
\providecommand{\Dsetfootnotespacing}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   776
  % Spacing commands executed at the beginning of footnotes.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   777
  \setlength{\parindent}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   778
  \hspace{1em}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   779
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   780
\providecommand{\DNfootnote}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   781
  % See ltfloat.dtx for details.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   782
  {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   783
    \insert\footins{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   784
      \vspace{\Dfootnotesep}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   785
      \Dsetfootnotespacing%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   786
      \Dformatfootnote{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   787
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   788
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   789
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   790
\providecommand{\DNcitation}[1]{\DNfootnote{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   791
\providecommand{\Dformatfootnotelabel}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   792
  % Keep \footnotesize in footnote labels (\textsuperscript would
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   793
  % reduce the font size even more).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   794
  \textsuperscript{\footnotesize#1{ }}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   795
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   796
\providecommand{\Dformatcitationlabel}[1]{{[}#1{]}{ }}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   797
\providecommand{\Dformatmultiplebackrefs}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   798
  % If in printing mode, do not write out multiple backrefs.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   799
  \ifthenelse{\equal{\Dprinting}{true}}{}{\textsl{#1}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   800
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   801
\providecommand{\Dthislabel}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   802
\providecommand{\DNlabel}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   803
  \renewcommand{\Dthislabel}{#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   804
  \ifthenelse{\not\equal{\Dsinglebackref}{}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   805
    \let\Doriginallabel=\Dthislabel%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   806
    \def\Dthislabel{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   807
      \Dsinglefootnotebacklink{\Dsinglebackref}{\Doriginallabel}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   808
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   809
  }{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   810
  \ifthenelse{\equal{\Dparent}{footnote}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   811
    % Footnote label.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   812
    \Dformatfootnotelabel{\Dthislabel}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   813
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   814
    \ifthenelse{\equal{\Dparent}{citation}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   815
      % Citation label.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   816
      \Dformatcitationlabel{\Dthislabel}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   817
    }{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   818
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   819
  % If there are multiple backrefs, add them now.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   820
  \Dformatmultiplebackrefs{\Dmultiplebackrefs}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   821
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   822
\providecommand{\Dsinglefootnotebacklink}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   823
  % Create normal backlink of a footnote label.  Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   824
  % 1. ID.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   825
  % 2. Link text.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   826
  % Treat like a footnote reference.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   827
  \Dimplicitfootnotereference{\##1}{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   828
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   829
\providecommand{\Dmultifootnotebacklink}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   830
  % Create generated backlink, as in (1, 2).  Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   831
  % 1. ID.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   832
  % 2. Link text.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   833
  % Treat like a footnote reference.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   834
  \Dimplicitfootnotereference{\##1}{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   835
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   836
\providecommand{\Dsinglecitationbacklink}[2]{\Dsinglefootnotebacklink{#1}{#2}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   837
\providecommand{\Dmulticitationbacklink}[2]{\Dmultifootnotebacklink{#1}{#2}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   838
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   839
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   840
\RequirePackage{longtable}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   841
\providecommand{\Dmaketable}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   842
  % Make table.  Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   843
  % 1. Table spec (like "|p|p|").
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   844
  % 2. Table contents.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   845
  {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   846
    \renewcommand{\Dinsidetabular}{true}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   847
    \begin{longtable}{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   848
      \hline%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   849
      #2%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   850
    \end{longtable}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   851
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   852
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   853
\providecommand{\DNthead}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   854
  #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   855
  \endhead%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   856
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   857
\providecommand{\DNrow}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   858
  #1\tabularnewline%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   859
  \hline%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   860
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   861
\providecommand{\Dcolspan}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   862
  % Take care of the morecols attribute (but incremented by 1).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   863
  &\multicolumn{#1}{l|}{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   864
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   865
\providecommand{\Dcolspanleft}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   866
  % Like \Dmorecols, but called for the leftmost entries in a table
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   867
  % row.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   868
  \multicolumn{#1}{|l|}{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   869
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   870
\providecommand{\Dsubsequententry}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   871
  &#1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   872
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   873
% \DNentry is not used because we set the ampersand ("&") in the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   874
% \DAcolspan... macros.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   875
\providecommand{\DAtableheaderentry}[5]{\Dformattableheaderentry{#5}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   876
\providecommand{\Dformattableheaderentry}[1]{{\bfseries#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   877
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   878
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   879
\providecommand{\DNsystemmessage}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   880
  {%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   881
    \ifthenelse{\equal{\Dprinting}{false}}{\color{red}}{}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   882
    \bfseries%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   883
    #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   884
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   885
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   886
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   887
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   888
\providecommand{\Dinsidehalign}{false}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   889
\newsavebox{\Dalignedimagebox}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   890
\Dprovidelength{\Dalignedimagewidth}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   891
\providecommand{\Dhalign}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   892
  % Horizontally align the contents to the left or right so that the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   893
  % text flows around it.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   894
  % Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   895
  % 1. l or r
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   896
  % 2. Contents.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   897
  \renewcommand{\Dinsidehalign}{true}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   898
  % For some obscure reason \parpic consumes some vertical space.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   899
  \vspace{-3pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   900
  % Now we do something *really* ugly, but this enables us to wrap the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   901
  % image in a minipage while still allowing tight frames when
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   902
  % class=border (see \DNimageCborder).
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   903
  \sbox{\Dalignedimagebox}{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   904
  \settowidth{\Dalignedimagewidth}{\usebox{\Dalignedimagebox}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   905
  \parpic[#1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   906
    \begin{minipage}[b]{\Dalignedimagewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   907
      % Compensate for previously added space, but not entirely.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   908
      \vspace*{2.0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   909
      \vspace*{\Dfloatimagetopmargin}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   910
      \usebox{\Dalignedimagebox}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   911
      \vspace*{1.5pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   912
      \vspace*{\Dfloatimagebottommargin}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   913
    \end{minipage}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   914
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   915
  \renewcommand{\Dinsidehalign}{false}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   916
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   917
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   918
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   919
\RequirePackage{graphicx}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   920
% Maximum width of an image.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   921
\providecommand{\Dimagemaxwidth}{\linewidth}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   922
\providecommand{\Dfloatimagemaxwidth}{0.5\linewidth}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   923
% Auxiliary variable.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   924
\Dprovidelength{\Dcurrentimagewidth}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   925
\providecommand{\DNimageAalign}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   926
  \ifthenelse{\equal{#3}{left}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   927
    \Dhalign{l}{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   928
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   929
    \ifthenelse{\equal{#3}{right}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   930
      \Dhalign{r}{#5}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   931
    }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   932
      \ifthenelse{\equal{#3}{center}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   933
        % Text floating around centered figures is a bad idea.  Thus
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   934
        % we use a center environment.  Note that no extra space is
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   935
        % added by the writer, so the space added by the center
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   936
        % environment is fine.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   937
        \begin{center}#5\end{center}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   938
      }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   939
        #5%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   940
      }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   941
    }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   942
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   943
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   944
% Base path for images.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   945
\providecommand{\Dimagebase}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   946
% Auxiliary command.  Current image path.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   947
\providecommand{\Dimagepath}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   948
\providecommand{\DNimageAuri}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   949
  % Insert image.  We treat the URI like a path here.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   950
  \renewcommand{\Dimagepath}{\Dimagebase#3}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   951
  \Difdefined{DcurrentNimageAwidth}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   952
    \Dwidthimage{\DcurrentNimageAwidth}{\Dimagepath}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   953
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   954
    \Dsimpleimage{\Dimagepath}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   955
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   956
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   957
\Dprovidelength{\Dfloatimagevmargin}{0pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   958
\providecommand{\Dfloatimagetopmargin}{\Dfloatimagevmargin}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   959
\providecommand{\Dfloatimagebottommargin}{\Dfloatimagevmargin}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   960
\providecommand{\Dwidthimage}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   961
  % Image with specified width.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   962
  % Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   963
  % 1. Image width.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   964
  % 2. Image path.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   965
  % Need to make bottom-alignment dependent on align attribute (add
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   966
  % functional test first).  Need to observe height attribute.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   967
  %\begin{minipage}[b]{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   968
    \includegraphics[width=#1,height=\textheight,keepaspectratio]{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   969
  %\end{minipage}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   970
}  
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   971
\providecommand{\Dcurrentimagemaxwidth}{}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   972
\providecommand{\Dsimpleimage}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   973
  % Insert image, without much parametrization.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   974
  \settowidth{\Dcurrentimagewidth}{\includegraphics{#1}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   975
  \ifthenelse{\equal{\Dinsidehalign}{true}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   976
    \renewcommand{\Dcurrentimagemaxwidth}{\Dfloatimagemaxwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   977
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   978
    \renewcommand{\Dcurrentimagemaxwidth}{\Dimagemaxwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   979
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   980
  \ifthenelse{\lengthtest{\Dcurrentimagewidth>\Dcurrentimagemaxwidth}}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   981
    \Dwidthimage{\Dcurrentimagemaxwidth}{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   982
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   983
    \Dwidthimage{\Dcurrentimagewidth}{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   984
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   985
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   986
\providecommand{\Dwidthimage}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   987
  % Image with specified width.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   988
  % Parameters:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   989
  % 1. Image width.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   990
  % 2. Image path.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   991
  \Dwidthimage{#1}{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   992
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   993
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   994
% Figures.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   995
\providecommand{\DNfigureAalign}[5]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   996
  % Hack to make it work Right Now.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   997
  %\def\DcurrentNimageAwidth{\DcurrentNfigureAwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   998
  %
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
   999
    %\def\DcurrentNimageAwidth{\linewidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1000
    \DNimageAalign{#1}{#2}{#3}{#4}{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1001
      \begin{minipage}[b]{0.4\linewidth}#5\end{minipage}}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1002
    %\let\DcurrentNimageAwidth=\relax%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1003
  %
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1004
  %\let\DcurrentNimageAwidth=\relax%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1005
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1006
\providecommand{\DNcaption}[1]{\par\noindent{\slshape#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1007
\providecommand{\DNlegend}[1]{\Dauxiliaryspace#1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1008
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1009
\providecommand{\DCborder}[1]{\fbox{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1010
% No padding between image and border.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1011
\providecommand{\DNimageCborder}[1]{\frame{#1}}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1012
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1013
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1014
% Need to replace with language-specific stuff.  Maybe look at
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1015
% csquotes.sty and ask the author for permission to use parts of it.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1016
\providecommand{\Dtextleftdblquote}{``}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1017
\providecommand{\Dtextrightdblquote}{''}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1018
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1019
% Table of contents:
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1020
\Dprovidelength{\Dtocininitialsectnumwidth}{2.4em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1021
\Dprovidelength{\Dtocadditionalsectnumwidth}{0.7em}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1022
% Level inside a table of contents.  While this is at -1, we are not
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1023
% inside a TOC.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1024
\Dprovidecounter{Dtoclevel}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1025
\setcounter{Dtoclevel}{-1}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1026
\providecommand{\Dlocaltoc}{false}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1027
\providecommand{\DNtopicClocal}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1028
  \renewcommand{\Dlocaltoc}{true}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1029
  \addtolength{\Dtocsectnumwidth}{2\Dtocadditionalsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1030
  \addtolength{\Dtocindent}{-2\Dtocadditionalsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1031
  #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1032
  \addtolength{\Dtocindent}{2\Dtocadditionalsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1033
  \addtolength{\Dtocsectnumwidth}{-2\Dtocadditionalsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1034
  \renewcommand{\Dlocaltoc}{false}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1035
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1036
\Dprovidelength{\Dtocindent}{0pt}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1037
\Dprovidelength{\Dtocsectnumwidth}{\Dtocininitialsectnumwidth}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1038
% Compensate for one additional TOC indentation space so that the
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1039
% top-level is unindented.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1040
\addtolength{\Dtocsectnumwidth}{-\Dtocadditionalsectnumwidth}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1041
\addtolength{\Dtocindent}{-\Dtocsectnumwidth}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1042
\providecommand{\Difinsidetoc}[2]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1043
  \ifthenelse{\not\equal{\theDtoclevel}{-1}}{#1}{#2}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1044
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1045
\providecommand{\DNgeneratedCsectnum}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1046
  \Difinsidetoc{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1047
    % Section number inside TOC.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1048
    \makebox[\Dtocsectnumwidth][l]{#1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1049
  }{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1050
    % Section number inside section title.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1051
    #1\quad%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1052
  }%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1053
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1054
\providecommand{\Dtocbulletlist}[1]{%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1055
  \addtocounter{Dtoclevel}{1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1056
  \addtolength{\Dtocindent}{\Dtocsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1057
  \addtolength{\Dtocsectnumwidth}{\Dtocadditionalsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1058
  #1%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1059
  \addtolength{\Dtocsectnumwidth}{-\Dtocadditionalsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1060
  \addtolength{\Dtocindent}{-\Dtocsectnumwidth}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1061
  \addtocounter{Dtoclevel}{-1}%
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1062
}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1063
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1064
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1065
% For \Dpixelunit, the length value is pre-multiplied with 0.75, so by
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1066
% specifying "pt" we get the same notion of "pixel" as graphicx.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1067
\providecommand{\Dpixelunit}{pt}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1068
% Normally lengths are relative to the current linewidth.
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1069
\providecommand{\Drelativeunit}{\linewidth}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1070
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1071
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1072
%\RequirePackage{fixmath}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1073
%\RequirePackage{amsmath}
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1074
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1075
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1076
\DSfontencoding
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1077
\DSlanguage
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1078
\DSlinks
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1079
\DSsymbols
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1080
\DSlate
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1081
22878952f6e2 Committing the CodeScanner Core tool
noe\swadi
parents:
diff changeset
  1082
\makeatother