NOWEB(7)
β¨ NAME β¨
okay so bestie, this is the manual page for nowebstyle β it's the LaTeX package for noweb π (it lives in the NOWEB(7) corner of the Miscellaneous Information Manual, if you were wondering where to find it π«Ά)
π SYNOPSIS π
\usepackage{noweb}
that's it. that's the whole vibe. π
πΈ DESCRIPTION πΈ
so when noweave generates code for LaTeX, the noweb package is required β like, non-negotiable, she's coming with you. and on top of all the necessary arcana (yes she has arcana, she's mysterious like that β¨), she defines a webcode environment where you can drop fragments of code. inside that environment, only backslash and curly braces keep their special meanings β every other character is taken literally, no cap. she also defines a noweb pagestyle. and finally, she defines a \noweboptions{...} command so you can tinker with how the output looks. options get separated by commas, and they include:
margintagβ puts the sub-page number (the tag) of each code-chunk definition in the left margin. this is the default, she's the main character πnomargintagβ don't use margin tags. that's it, that's the whole option πshiftβ shift the text to the left so long code lines won't run off the right-hand side of the page. very considerate of her π«Άsmallcodeβ sets code in the LaTeX\smallfont instead of\normalsize. and bestie, similar options exist for all the LaTeX size-changing commands, so go wild πlongxref,shortxref,noxrefβ pick a style for chunk cross-referencing. long style uses small paragraphs after each chunk, like Knuth does. short style uses symbols on the definition line, like Hanson does. andnoxrefgives you no chunk cross-reference at all (sad, but valid π₯²). defaults toshortxref.alphasubpage,numsubpage,nosubpageβ numbers chunks by the number of the page they show up on, followed by an alphabetic (numeric, not used) "sub-page" indicator. defaults toalphasubpage. and heads up:nosubpageimpliesnomargintag.webnumberingβ number chunks consecutively, WEB style, instead of using sub-page numbers. old school, iconic β¨subscriptidents,nosubscriptidents,hyperidents,nohyperidentsβ these control subscripting of identifiers in code, including quoted code. pickingsubscriptidentsmeans an identifier appearing in a code chunk (or in quoted code inside a documentation chunk) gets subscripted with the chunk number of its definition.hyperidentsmeans those identifiers get hyperlinked to their definitions β provided, of course, that a hypertext package like hyperref is loaded.nosubscriptidentsandnohyperidentsare equivalent, and they turn off those markings. the default ishyperidentsπsubscriptquotedidents,nosubscriptquotedidents,hyperquotedidents,nohyperquotedidentsβ controls linking of identifiers just like above, but only applies to uses of identifiers in quoted code.hideunuseddefsβ omits defined-but-unused identifiers from the local identifier cross-reference. (shoutout to Preston Briggs for this one π«Ά)noidentxrefβ omits the local identifier cross-reference that follows each code chunk.externalindexβ use an index generated withnoindex(1)(q.v. π).longchunksβ when expanding\nowebchunks, show the page numbers of definitions and uses of each chunk.english,french,german,portuges,icelandicβ write cross-reference info in the language specified. defaults toenglish. (yes it's spelledportugesin the original, I don't make the rules, I just report them π keep it exact bestie)
π CONTROL SEQUENCES π
the noweb package describes a gazillion special control sequences. only a few are listed here, so don't come for me about the rest π
\nextchunklabel{l}β associates label l with the sub-page reference of the next code chunk. can be used 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 inlatex(1)using footnotes, butsl2h(1)translates this into<a href=URL>anchor text</a>\nwanchorname{name}{anchor text}β creates an anchor point for a hyperlink. implemented inlatex(1)using\label, butsl2h(1)translates this into<a name=name>anchor text</a>\ifhtml ... \fiβ text between\ifhtmland\fiis ignored bylatex(1), butsl2h(1)and the l2h noweb filter translate that text into HTML. sneaky HTML pipeline, love that for her π¦
π COMPATIBILITY π
for compatibility with plain TeX, noweb keeps using the old-style font commands \tt and so on. and when she's used with the KOMA scripts (document classes scrartcl, scrreprt, and scrbook), noweb needs the document-class option enabledeprecatedfontcommands. don't forget it, or it's giving β¨errorsβ¨
π¦ SEE ALSO π¦
π 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.
and that's a wrap bestie!! π this came to you from the local source, dated 10/40/2008, page NOWEB(7) β yes the date says 10/40 and no I will not be explaining that, it's just the lore π
slay, go write some literate code, periodt πβ¨
π¦ where this page comes from
- debian trixie: noweb 2.13-2 Β· noweb OR BSD-2-Clause
- nixos 26.05: noweb 2.13
- nixpkgs unstable: noweb 2.13
- ubuntu questing: noweb 2.13-2
- ubuntu resolute: noweb 2.13-2build1 Β· noweb OR BSD-2-Clause
- ubuntu stonking: noweb 2.13-2build1 Β· noweb OR BSD-2-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms