Re: parole chiave con \newcommand

#24403
Up
0
Down
::

A pensarci bene, la soluzione con xspace sembra migliore.

Non necessariamente: come spiega la stessa documentazione di xspace, qualche volta ci possono essere piccoli problemi.

Anzi, la domanda di Stefano mi spinge alla seguente riflessione: perché i comandi come \TeX, \LaTeX, … si comportano proprio così (per quello che riguarda gli spazi seguenti)?
`\documentclass{article}
\usepackage{xspace}
\newcommand{\tex}{\TeX\xspace}
\begin{document}
A volte il nome \tex deve essere seguito da uno spazio (come in questo caso); alte volte, invece, lo spazio non ci va: \tex. Se è necessario violare questa regola (per esempio per scrivere “cose strane''), bastano due graffe: Ars\tex{}nica.
\end{document}`
Ci possono essere effetti collaterali (che magari mi sfuggono)? Non sarebbe più semplice che i comandi predefiniti come \TeX e \LaTeX si comportassero così senza la necessità di caricare il pacchetto xspace? In altre parole, potremmo definire il comportamento predefinito di \TeX e \LaTeX come un bug di LaTeX (corretto da xspace)?

L’obbligo di chiudere un comando con qualcosa che non sia uno spazio costringerebbe a contorsioni molto più complicate di quanti problemi risolverebbe. Preferiresti dover scrivere
`\vskip2pt`
e chiudere ogni riga di definizioni con %, anche quelle che terminano con un comando? Io, sinceramente, no. Si può anche sostenere che la scelta di Knuth non sia stata la migliore possibile, tuttavia la questione è spiegata nelle prime pagine del TeXbook e di qualsiasi guida. Andrei molto cauto a usare la parola “bug” parlando di TeX. 🙂

Ciao
Enrico

Go to top