Ciao a tutti,
in una classe che sto realizzando vorrei definire alcuni comandi che però hanno nomi tipici di comandi analoghi forniti da altri pacchetti, per esempio il comando \micro.
Se però l’utente caricherà un pacchetto che definisce il comando \micro (usando \newcommand), LaTeX restituirà un errore.
Esiste un modo sufficientemente generale per mettermi al riparo da questo tipo di errori?
O, in generale, qual è la maniera migliore di definire dei comandi in una classe?
In linea di massima è bene evitare di definire comandi già presenti in pacchetti di uso comune. Pochi giorni fa qualcuno scrisse su comp.text.tex chiedendo come fare per adoperare \o (necessario per una lettera dell’alfabeto danese) che la classe fornitagli dalla rivista ridefiniva come equivalente di \omega. ❗ Si scoprì poi che anche \a, \b, \d e \l erano ridefiniti come abbreviazioni di lettere greche. ❗
Fai l’esempio di “\micro”: a che dovrebbe servire questo comando? Se ti serve per il prefisso del SI, la cosa migliore è di scrivere nella tua classe
`\AtBeginDocument{
\providecommand{\micro}{…}
}`
in modo che, se l’utente della classe carica siunitx, non abbia problemi con l’analogo comando definito nel pacchetto.
Spiegazione: \AtBeginDocument{
Per altri comandi ci saranno altre strade; esempi?
Ciao
Enrico