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

\title{...}
\author{...}
\maketitle
\section{...}
\subsection{...}
\subsubsection{...}
\emph{emphasis}
\textbf{bold}
\texttt{typewriter}
\textit{italics}
\textsf{sans serif}
\textsc{small caps}
List of items
\begin{itemize}
\item one
\item two
\item three
\end{itemize}

donne :

List of items

  • one
  • two
  • three
List of items
\begin{enumerate}
\item one
\item two
\item three
\end{itemize}

donne :

List of items

  1. one
  2. two
  3. three

Voir aussi


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