LaTeX-kod för godtyckliga radbrytningstecken

(Från Linus Walleij)

Fråga: Hur får du till LaTeX-makron för t.ex. godtycklig radbrytning av IP-nummer?

Svar:

Ibland kan det vara bra att definiera makron för att använda ett godtyckligt tecken som "radbrytningsvänligt", d.v.s.: om ett sammansatt ord med bindestreck förekommer i en text, t.ex. "IT-politik" inser LaTeX att det kan radbryta efter bindestrecket, men andra tecken har inte samma egenskap. Exempelvis kanske du vill radbryta efter ett "/", som jag på flera platser gör i ord som "GNU/Linux-system". För detta ändamål finns faktiskt redan makrot "\slash", så om jag skriver "GNU\slash Linux-system" kommer detta att radbrytas efter snedstrecket vid behov.

Om du t.ex. skriver mycket IP-nummer i en text kommer ett liknande problem snart att uppstå: LaTeX vägrar att radbryta "192.168.123.12" vid punkterna! Ett annat problem är DOS-sökvägar som ju inte använder "/" utan "\backslash".

För att lösa detta definieras makrona:

\newcommand{\period}{.\penalty \exhyphenpenalty }
\newcommand{\bslash}{$\backslash$\penalty \exhyphenpenalty }

Med dessa som hjälp kan du skriva t.ex "192\period 168\period 123\period 12" för att få ett IP-nummer som kan radbrytas vid punkterna, eller "C:\bslash My Documents\bslash Foo" för en DOS-sökväg som kan radbrytas. Genom att se hur makrona är uppbyggda inser du säkert hur godtyckligt tecken kan göras "radbrytningsvänligt".


Till bokens huvudsida.