Table des matières
Utiliser NoWeb avec LATEX : guide d'utilisation en une page
Norman Ramsey, puis Lee Wittenberg et Carl Gregory
Le fichier noweb foo.nw
Blocs de documentation
En début d'une ligne,
@
commence un bloc de documentation.
Le texte est en LATEX.
Pour incorporer des fragments de code, utilisez [[...]]
.
noweave encapsule automatiquement le fichier entre
\documentclass{article} \usepackage{noweb} \begin{document} (...)
et
(...) \end{document}
Pour éviter cette encapsulation,
-
mettez dans votre source
\documentclass
et\usepackage
-
et utilisez
$ noweave -delay
Blocs de code
En début d'une ligne,
<<...nom_du_bloc...>>=
commence un bloc de code en n'importe quel langage.
Utilisez <<...>>
pour inclure d'autres blocs de code par leur référence
Vous pouvez écrire plusieurs blocs de code avec le même nom, ils seront concaténés.
Nommez les blocs :
-
dans les fonctions, avec des verbes, par exemple, (copier toutes les lignes de l'intérieur vers l'extérieur, en ajoutant un balisage).
-
blocs contenant des déclarations, avec des noms, par exemple, (prototypes de fonctions privées) ou (définitions de fonctions exportées).
-
fragments racine de niveau supérieur, d'après les fichiers qu'ils doivent représenter, par exemple,
<<foo.c>>=
ou<<foo.h>>=
.
Commandes typiques
notangle -L -Rfoo.c foo.nw > foo.c | Extrait le fichier foo.c, avec numéros de lignes |
---|---|
notangle -Rfoo.h foo.nw | cpif foo.h | Extrait le fichier foo.h s’il a changé (sans numéros de lignes). |
noweave -filter l2h -index -html foo.nw > foo.html | Crée du HTML en convertissant la documentation LATEX. |
noweave -x foo.nw > foo.tex | Crée un document LATEX avec références croisées, sans index. |
latex foo; latex foo | Traiter LATEX en un fichier dvi (« indépendant du périphérique ») |
latex ’\scrollmode \input foo’ | une autre commande LATEX à utiliser dans Makefile. |
dvips -o foo.ps foo | Convertit foo.dvi en PostScript. |
LATEX minimal
-
Caractères spéciaux (à ne pas taper dans du texte, utilisables dans le code) :
% \ { } $ & # ^ _ ~
Échappement pour les caractères spéciaux :
\% $\backslash$ \{ \} \$ \& \# \_
-
Une ligne vide est un nouveau paragraphe.
-
Écrivez ‘‘quotes’’ pour obtenir “quotes” Jamais “quotes”.
-
Titres :
\title{...} \author{...} \maketitle
-
Sections :
\section{...} \subsection{...} \subsubsection{...}
-
Polices :
\emph{emphasis} \textbf{bold} \texttt{typewriter} \textit{italics} \textsf{sans serif} \textsc{small caps}
-
Listes :
List of items \begin{itemize} \item one \item two \item three \end{itemize}
donne :
List of items
-
one
-
two
-
three
-
Listes numérotées :
List of items \begin{enumerate} \item one \item two \item three \end{itemize}
donne :
List of items
-
one
-
two
-
three