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 \usepackageet 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 onetwothree
Listes numérotées :	List of items \begin{enumerate} \item one \item two \item three \end{itemize} donne : List of items onetwothree

Voir aussi

(en) https://www.cs.tufts.edu/~nr/noweb/onepage.ps

Basé sur << A One-Page Guide to Using noweb with L A TEX >> par Norman Ramsey.