Re: “L’arte di scrivere con LaTeX”

#23219
Up
0
Down
::

Le soluzione per estendere l’uso di ° anche in modo matematico funzionano, ovviamente, in maniera perfetta.

Bene. C’è una soluzione che non richiede di sapere in anticipo la codifica che si usa.
`\DeclareTextSymbolDefault{\degreesymbol}{TS1}
\DeclareTextSymbol{\degreesymbol}{TS1}{176}
\DeclareRobustCommand{\textdegree}{%
\ifmmode\mbox{\degreesymbol}\else\degreesymbol\fi}
\let\degree\textdegree`
Ridefinisco \textdegree, che è la macro richiamata da LaTeX quando interpreta il carattere ° (in latin1, utf8 o qualsiasi altra codifica che lo preveda) in modo che faccia la cosa giusta, cioè stampi il simbolo in una \mbox se siamo in una formula oppure direttamente. Definisco poi \degree come equivalente a \textdegree.

Meglio non ricorrere all’usuale trucco di creare un alias a \textdegree: con i comandi definiti da \DeclareTextSymbol non funziona.

Ciao
Enrico

Ciao Enrico,

stavo cercando di fare esattamente la stessa cosa!
Testando questo codice, mi sembra che funzioni tutto.
Dove sarebbe il problema con l’alias?

`\documentclass{minimal}
\usepackage{lmodern} % oppure cm-super
\usepackage{textcomp}

\let\textdegreeold\textdegree
\renewcommand{\textdegree}{\ifmmode\mbox{\textdegreeold}\else\textdegreeold\fi}
\let\degree\textdegree

\begin{document}
\degree, $\degree$, °, $°$
\end{document}`

Ciao ciao.
Fra

Go to top