6.11.5 Base Latex Macros

► |  | Scribble: The Racket Documentation Tool

1 | Getting Started
2 | @ Syntax
3 | High-Level Scribble API
4 | Scribbling Documentation
5 | Literate Programming
6 | Low-Level Scribble API
7 | Running scribble
| Index

► | 6 | Low-Level Scribble API

6.1 | Scribble Layers
6.2 | @ Reader Internals
6.3 | Structures And Processing
6.4 | Renderers
6.5 | Decoding Text
6.6 | Document Language
6.7 | Document Reader
6.8 | Cross-Reference Utilities
6.9 | Tag Utilities
6.10 | Blue Boxes Utilities
6.11 | Extending and Configuring Scribble Output

▼ | 6.11 | Extending and Configuring Scribble Output

6.11.1 | Implementing Styles
6.11.2 | Configuring Output
6.11.3 | Base CSS Style Classes
6.11.4 | Manual CSS Style Classes
6.11.5 | Base Latex Macros
6.11.6 | Latex Prefix Support

top contents ← prev up next →

##### 6.11.5`` Base Latex Macros🔗ℹ

The "scribble.tex" Latex configuration includes several macros and environments that you can redefine to adjust the output style:

- \preDoc — called before the document content; the default does nothing, while the scribble/manual configuration enabled \sloppy.

- \postDoc — called after the document content; the default does nothing.

- A set of commands that control the basic set of Latex packages that are loaded:

  - \packageGraphicx, defaults to \usepackage{graphicx}

  - \packageHyperref, defaults to \usepackage{hyperref}

  - \renewrmdefault, defaults to \renewcommand{\rmdefault}{ptm}

  - \packageRelsize, defaults to \usepackage{relsize}

  - \packageAmsmath, defaults to \usepackage{amsmath}

  - \packageMathabx, defaults to \usepackage{mathabx}

  - \packageWasysym, defaults to \let\leftmoon\relax \let\rightmoon\relax \let\fullmoon\relax \let\newmoon\relax \let\diameter\relax \usepackage[nointegrals]{wasysym}

  - \packageTxfonts, defaults to \let\widering\relax \usepackage{newtxmath}

  - \packageTextcomp, defaults to \usepackage{textcomp}

  - \packageFramed, defaults to \usepackage{framed}

  - \packageHyphenat, defaults to \usepackage[htt]{hyphenat}

  - \packageColor, defaults to \usepackage[usenames,dvipsnames]{color}

  - \doHypersetup, defaults to \hypersetup{bookmarks=true,bookmarksopen=true,bookmarksnumbered=true}

  - \packageTocstyle, defaults to \IfFileExists{tocstyle.sty}{\usepackage{tocstyle}\usetocstyle{standard}}{}

  - \packageCJK, defaults to \IfFileExists{CJK.sty}{\usepackage{CJK}}{}

  Changed in version 1.36: Added \packageTxfonts

  Changed in version 1.37: Added \packageAmsmath; changed \packageWasysym to use nointegrals option; changed \packageTxfonts to load newtxmath. Note that documents could look different due to the new wasysym option and the inclusion of newtxmath. See racket/scribble#274 for examples.

- \sectionNewpage — called before each top-level section starts; the default does nothing, while the scribble/manual configuration uses \newpage to start each chapter on a new page.

- \SecRefLocal{}{}{} — the first argument is a Latex label, the second argument is a section number, and the third argument is a section title. This macro is used by secref to reference a section (other than a document or top-level section within a document) that has a number and that is local to the current document. The default expands to \SecRef, passing along just the second and third arguments (so that the label is ignored).

- \SecRef{}{} — like \SecRefLocal, but used when the referenced section is in a different document, so that no label is available. The default shows “section” followed by the section number (ignoring the title). The scribble/manual redefinition of this macro shows “§”, the section number, and the title in quotes.

- \ChapRefLocal{}{}{} and \ChapRef{}{} — like \SecRefLocal and \SecRef, but for a top-level section within a document. The default implementation defers to \SecRefLocal or \SecRef.

- \PartRefLocal{}{}{} and \PartRef{}{} — like \SecRefLocal and \SecRef, but for a top-level section within a document whose part has the 'grouper style property. The default \PartRef shows “part” followed by the section number (ignoring the title).

- \BookRefLocal{}{}{} and \BookRef{}{} — like \SecRefLocal and \SecRef, but for a document (as opposed to a section within the document). The default \BookRef implementation shows the title in italic.

- \SecRefLocalUC{}{}{} and \SecRefUC{}{} — like \SecRefLocal and \SecRef, but for Secref. The default \SecRefUC shows “Section” followed by the section number.

- \ChapRefLocalUC{}{}{} and \ChapRefUC{}{} — like \ChapRefLocal and \ChapRef, but for Secref. The default \ChapRefUCimplementation defers to \SecRefUC.

- \PartRefLocalUC{}{}{} and \PartRefUC{}{} — like \PartRefLocal and \PartRef, but for Secref. The default \PartRefUC shows “Part” followed by the section number.

- \BookRefLocalUC{}{}{} and \BookRefUC{}{} — like \BookRefLocal and \BookRef, but for Secref. The default \BookRefUC defers to \BookRef.

- \SecRefLocalUN{}{}, \SecRefUCUN{}, \SecRefLocalUCUN{}{}, \SecRefUN{}, \PartRefLocalUN{}{}, \PartRefUN{}, \PartRefLocalUCUN{}{}, \PartRefUCUN{}, \BookRefLocalUN{}{}, \BookRefUN{}, \BookRefLocalUCUN{}{}, \BookRefUCUN{}, \ChapRefLocalUN{}{}, \ChapRefUN{}, \ChapRefLocalUCUN{}{}, and \ChapRefUCUN{} — like \SecRefLocal, etc., but in the case that a section/part/chapter number is unavailable. The default implementation of \BookRefUN uses \BookRef with an empty first argument. The default \SecRefLocalUN expands to its second argument in quotes followed by “on page” as a \pageref using the first argument, while the default \SecRefUN expands to its only argument in quotes. The default \PartRef and \ChapRef variants expand to the corresponding \SecRef variant.

- \Ssection{}{}, \Ssubsection{}{}, \Ssubsubsection{}{}, \Ssubsubsubsection{}{}, \Ssubsubsubsubsection{}{} — for a top-level section, a second-level section, etc., where the last variant is used for all sections that are deeper than four levels. The first argument corresponds to the optional argument to \section, which is used for the table of contents. Furthermore, \SNextTitlePlain is called before each of these to register a plain-text version of the title suitable for use in table-of-contents metadata, such as in PDF. The default versions of these macros use that plain text via \STexOrPDFTitle.

- \Ssectionstar{}, \Ssubsectionstar{}, \Ssubsubsectionstar{}, \Ssubsubsubsectionstar{}, \Ssubsubsubsubsectionstar{} — like \Ssection, etc., but for unnumbered sections that are omitted from the table of contents.

- \Ssectionstarx{}{}, \Ssubsectionstarx{}, \Ssubsubsectionstarx{}{}, \Ssubsubsubsectionstarx{}{}, \Ssubsubsubsubsectionstarx{}{} — like \Ssection, etc., but for unnumbered sections (that nevertheless appear in the table of contents).

- \Sincsection, \Sincsubsection, \Sincsubsubsection, \Sincsubsubsubsection, \Sincsubsubsubsubsection — increments the section counter.

- \Spart{}{}, \Spartstar{}, \Spartstarx{}{}, \Sincpart — like the section commands, but used for in place of \Ssection{}{}, \Ssectionstar{}, etc. for a part with the 'grouper style property.

- \SNextTitlePlain{}, \STexOrPDFTitle{} — Used to record and/or access a plain-text version of a title. The \STexOrPDFTitle macro expands to either its given text of the recorded plain text, depending on how it is used, similar to using \texorpdfstring for the optional argument to \section.

- SInsetFlow environment — for a nested-flow with the 'inset style name.

- SCodeFlow environment — for a nested-flow with the 'code-inset style name.

- SVInsetFlow environment — for a nested-flow with the 'vertical-inset style name.

- SVerbatim environment — for a table created by verbatim.

- \SCodeBox{}, \SVInsetBox{} — for a nested-flow with the 'code-inset or 'vertical-inset style name, respectively, and as the content of a table cell. The content is installed into a TeX box using \setbox1.

Additionally, the "racket.tex" Latex configuration includes several macros that you can redefine to adjust the output style of Racket code:

- \SColorize{}{} — Sets the color scheme of Racket code. Can be redefined to create black and white code. The first argument is the requested color, and the second argument is the text for that color.

- \SHyphen{} — Enables or Disables the ability for identifiers and keywords in Racket code from being hyphenated. Defaults to enabled (for compatibility). Redefine to disable or change the hyphenation behavior. For example, to cause the text to overfill rather than hyphen, it can be redefined to: \renewcommand{\SHyphen}[1]{\mbox{#1}}. The first argument is an identifier or keyword inside of a code block.

top contents ← prev up next →