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
\documentclasset\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