---
name: "nowebstyle"
section: "7"
platform: "linux"
package: "noweb"
version: "2.13-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/nowebstyle"
---

# nowebstyle(7)

LaTeX package for noweb

## NAME

nowebstyle - *LaTeX* package for *noweb*

## SYNOPSIS

**\\\\usepackage{noweb}**

## DESCRIPTION

When  *noweave* generates code for  *LaTeX*, the **noweb** package is required. In addition to the necessary arcana, it defines a  **webcode** environment in which you can place fragments of  code, and in which only backslash and curly braces have their special meanings; all other characters are taken literally. It also defines a **noweb** pagestyle. Finally, it defines a **\\\\noweboptions{...}** command that can be used to tinker with the appearance of the output. Options are separated by commas and include:

- **margintag**

  Put the sub-page number (tag) of each code-chunk definition in the left margin. (Default)

- **nomargintag**

  Don't use margin tags.

- **shift**

  Shift text to the left so that long code lines won't extend off the right-hand side of the page.

- **smallcode**

  Set code in  *LaTeX* **\\\\small** font instead of  **\\\\normalsize.** Similar options exist for all the  *LaTeX* size-changing commands.

- **longxref, shortxref, noxref**

  Choose a style for chunk cross-reference. Long style uses  small paragraphs after each chunk, as in Knuth. Short style uses symbols on the definition line, as in Hanson. **noxref** provides no chunk cross-reference.  Defaults to  **shortxref.**

- **alphasubpage, numsubpage, nosubpage**

  Number chunks by the number of the page on which they appear, followed by an alphabetic (numeric, not used) \`\`sub-page'' indicator. Defaults to  **alphasubpage.** **nosubpage** implies **nomargintag.**

- **webnumbering**

  Number chunks consecutively, in  *WEB* style, instead of using sub-page numbers.

- **subscriptidents, nosubscriptidents, hyperidents, nohyperidents**

  Controls subscripting of identifiers in code, including quoted code. Selecting **subscriptidents** means an identifier appearing in a code chunk (or in quoted code within a documentation  chunk) will be subscripted with the chunk number of its definition. **hyperidents** means such identifiers will be hyperlinked to their definitions, provided of course that a hypertext package like **hyperref** is loaded. **nosubscriptidents** and  **nohyperidents** are equivalent, and they turn off such markings. The default is **hyperidents.**

- **subscriptquotedidents, nosubscriptquotedidents, hyperquotedidents, nohyperquotedidents**

  Controls linking of identifiers as above, but applies only to uses of identifiers in quoted code.

- **hideunuseddefs**

  Omit defined but unused identifiers from the local identifier cross-reference (Preston Briggs).

- **noidentxref**

  Omit the local identifier cross-reference which follows each code chunk.

- **externalindex**

  Use an index generated with  *[noindex(1)](/noindex/1.md)* (q.v.).

- **longchunks**

  When expanding  **\\\\nowebchunks,** show page numbers of definitions and uses of each chunk.

- **english, french, german, portuges, icelandic**

  Write cross-reference information in the language specified. Defaults to  **english.**

## CONTROL SEQUENCES

The noweb package describes a gazillion special control sequences. Only a few are listed here.

**\\nextchunklabel{l}**

Associates label **l** with the sub-page reference of the next code chunk. Can be used in for concise chunk cross-reference with, e.g., **chunk~\\subpageref{l}**.

**\\\\nwanchorto{URL}{anchor text}**

Creates a link to the given URL with the given anchor text. Implemented in  *[latex(1)](/latex/1.md)* using footnotes, but  *[sl2h(1)](/sl2h/1.md)* translates this to **\<a href=URL\>anchor text\</a\>**

**\\\\nwanchorname{name}{anchor text}**

Creates an anchor point for a hyperlink. Implemented in  *[latex(1)](/latex/1.md)* using  **\\\\label ,** but *[sl2h(1)](/sl2h/1.md)* translates this to **\<a name=name\>anchor text\</a\>**

**\\\\ifhtml ... \\\\fi**

Text between **\\\\ifhtml** and **\\\\fi** is ignored by  *[latex(1)](/latex/1.md),* but  *[sl2h(1)](/sl2h/1.md)* and the  *l2h* noweb filter translate the text into HTML.

## COMPATIBILITY

For compatibility with plain  *TeX*, *noweb* continues to use the old-style font commands **\\\\tt** and so on. When used with the KOMA scripts (document classes  **scrartcl**, **scrreprt**, and **scrbook**), *noweb* needs the document-class option **enabledeprecatedfontcommands**.

## SEE ALSO

[*noweave*(1)](/noweave/1.md), [*noweb*(1)](/noweb/1.md)

## VERSION

This man page is from  *noweb* version 2.12.

## AUTHOR

Norman Ramsey, Tufts University. Internet address **Norman.Ramsey@tufts.edu**.\
 Noweb home page at **http://www.cs.tufts.edu/~nr/noweb**.
