]> git.decadent.org.uk Git - ion3-doc.git/blob - macros.tex
656d686512baeecc05eb071b4543ebea2ecc4bd9
[ion3-doc.git] / macros.tex
1 \usepackage{babel}
2 \usepackage[latin1]{inputenc}
3 \usepackage[T1]{fontenc}
4 \usepackage{palatino}
5 %\usepackage{ae}
6 \usepackage{url}
7 %\usepackage{graphicx}
8 %\usepackage{color}
9 \usepackage{makeidx}
10 \usepackage{tabularx}
11 %\usepackage{textcomp}
12 \usepackage[nottoc]{tocbibind}
13 \usepackage{enumerate} % GNU FDL needs this
14 \usepackage{calc}
15 \usepackage{ifpdf}
16 \usepackage[a4paper,margin=3cm]{geometry}
17
18 \ifpdf
19 \usepackage[pdftex]{hyperref}
20 \else
21 \usepackage[hypertex]{hyperref}
22 \fi
23
24 \usepackage{html}
25
26 % URL settings
27 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
28
29 \urlstyle{tt}
30
31 % listings package
32 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
33
34 %begin{latexonly}
35 \usepackage{listings}
36
37 \lstset{
38   extendedchars=true,
39   breaklines=true,
40   basicstyle=\tt,
41   alsoletter={",},
42   alsoother={\_},
43 }
44 %end{latexonly}
45
46 \sloppy
47
48 % Some markup
49 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
50
51 \newcommand{\note}[1]{\color{red}**#1**}
52 \newcommand{\type}[1]{#1}
53 \newcommand{\spec}[1]{#1}
54 \newcommand{\indextype}[1]{\index{#1@\type{#1}}}
55
56 %begin{latexonly}
57 \newcommand{\file}[1]{\mbox{\emph{#1}}}
58 \newcommand{\key}[1]{\mbox{\textbf{#1}}}
59 \newcommand{\code}[1]{\lstinline!#1!}
60 \newcommand{\codestr}[1]{`\texttt{#1}'}
61 \newcommand{\var}[1]{\lstinline!#1!}
62 \newcommand{\command}[1]{\lstinline!#1!}
63
64 \newcommand{\hyperlabel}[1]{\hypertarget{#1}{}\label{#1}}
65 \newcommand{\fnrefx}[2]{\hyperlink{fn:#1.#2}{\code{#2}}}
66 \newcommand{\fnref}[1]{\hyperlink{fn:#1}{\code{#1}}}
67 \newcommand{\myhref}[2]{\hyperlink{#1}{#2}}
68
69 %end{latexonly}
70 \begin{htmlonly}
71     
72 \newcommand{\file}[1]{\emph{#1}}
73 \newcommand{\key}[1]{\textbf{#1}}
74 \newcommand{\code}[1]{\texttt{#1}}
75 \newcommand{\codestr}[1]{`\texttt{#1}'}
76 \newcommand{\var}[1]{\texttt{#1}}
77 \newcommand{\command}[1]{\texttt{#1}}
78
79 \newcommand{\hyperlabel}[1]{\label{#1}}
80 \newcommand{\fnref}[1]{\htmlref{\texttt{#1}}{fn:#1}}
81 \newcommand{\fnrefx}[2]{\htmlref{\texttt{#2}}{fn:#1.#2}}
82 \newcommand{\myhref}[2]{\htmlref{#2}{#1}}
83
84 \end{htmlonly}
85
86 \newcommand{\tabhead}[1]{\hline #1 \\ \hline}
87
88 % function tables
89 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
90
91 %begin{latexonly}
92
93 \newcommand{\funclistlabel}[1]{#1\hfill}
94 \newenvironment{function}{
95   \pagebreak[3]
96   \begin{list}{}{
97         \settowidth{\labelwidth}{Description:}
98         \setlength{\leftmargin}{\labelwidth}
99         \addtolength{\leftmargin}{0.5em}
100         \setlength{\labelsep}{0.5em}
101         \setlength{\itemsep}{0pt}
102         \setlength\parsep{0pt}
103         \setlength\topsep{0pt}
104         %\setlength{\itemsep}{-\parskip}
105         %\addtolength{\itemsep}{\lineskip}
106         \let\makelabel\funclistlabel
107   }
108 }{
109   \end{list}
110 }
111
112 %end{latexonly}
113 \begin{htmlonly}
114
115 \newenvironment{function}{
116   \begin{description}
117 }{
118   \end{description}
119 }
120
121 \end{htmlonly}
122
123
124 \newcommand{\synopsis}[1]{
125   \item[Synopsis:] \code{#1}
126 }
127 \newcommand{\funcname}[1]{
128   \item[Function:] \code{#1}
129 }
130 \newcommand{\hookname}[1]{
131   \item[Hook name:] \hyperlabel{#1}\code{#1}
132 }
133 \newcommand{\hookparams}[1]{
134   \item[Parameters:] \code{#1}
135 }
136 \newenvironment{funcdesc}{
137   \item[Description:]
138 }{}
139
140
141 % While rapport3/artikel3 are otherwise nice classes, 
142 % itemize looks awful.
143 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
144 %begin{latexonly}
145 \makeatletter
146 \renewenvironment{itemize}{%
147   \ifnum \@itemdepth >3
148     \@toodeep
149   \else
150     \advance\@itemdepth \@ne
151     \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
152     \list{\csname\@itemitem\endcsname}%
153          {%
154             \if@revlabel
155               \def\makelabel##1{\hskip .5\unitindent{\hfil ##1}}\else
156                                                     %^^^^^^^^^ Changed
157               \def\makelabel##1{\hfil ##1}
158                                %^^^^^^^^^ Changed
159             \fi
160           }%
161   \fi}
162  {\global\@ignoretrue \endlist}
163 \makeatletter
164 %end{latexonly}