-
Notifications
You must be signed in to change notification settings - Fork 0
/
ocamldoc.sty
75 lines (65 loc) · 2 KB
/
ocamldoc.sty
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
%% Support macros for LaTeX documentation generated by ocamldoc.
%% This file is in the public domain; do what you want with it.
\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{ocamldoc}
[2001/12/04 v1.0 ocamldoc support]
\newenvironment{ocamldoccode}{%
\bgroup
\leftskip\@totalleftmargin
\rightskip\z@skip
\parindent\z@
\parfillskip\@flushglue
\parskip\z@skip
%\noindent
\@@par\smallskip
\@tempswafalse
\def\par{%
\if@tempswa
\leavevmode\null\@@par\penalty\interlinepenalty
\else
\@tempswatrue
\ifhmode\@@par\penalty\interlinepenalty\fi
\fi}
\obeylines
\verbatim@font
\let\org@prime~%
\@noligs
\let\org@dospecials\dospecials
\g@remfrom@specials{\\}
\g@remfrom@specials{\{}
\g@remfrom@specials{\}}
\let\do\@makeother
\dospecials
\let\dospecials\org@dospecials
\frenchspacing\@vobeyspaces
\everypar \expandafter{\the\everypar \unpenalty}}
{\egroup\par}
\def\g@remfrom@specials#1{%
\def\@new@specials{}
\def\@remove##1{%
\ifx##1#1\else
\g@addto@macro\@new@specials{\do ##1}\fi}
\let\do\@remove\dospecials
\let\dospecials\@new@specials
}
\newenvironment{ocamldocdescription}
{\list{}{\rightmargin0pt \topsep0pt}\raggedright\item\noindent\relax\ignorespaces}
{\endlist\medskip}
\newenvironment{ocamldoccomment}
{\list{}{\leftmargin 2\leftmargini \rightmargin0pt \topsep0pt}\raggedright\item\noindent\relax}
{\endlist}
\let \ocamldocparagraph \paragraph
\def \paragraph #1{\ocamldocparagraph {#1}\noindent}
\let \ocamldocsubparagraph \subparagraph
\def \subparagraph #1{\ocamldocsubparagraph {#1}\noindent}
\let\ocamldocvspace\vspace
\newenvironment{ocamldocindent}{\list{}{}\item\relax}{\endlist}
\newenvironment{ocamldocsigend}
{\noindent\quad\texttt{sig}\ocamldocindent}
{\endocamldocindent\vskip -\lastskip
\noindent\quad\texttt{end}\medskip}
\newenvironment{ocamldocobjectend}
{\noindent\quad\texttt{object}\ocamldocindent}
{\endocamldocindent\vskip -\lastskip
\noindent\quad\texttt{end}\medskip}
\endinput