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