- Questo topic ha 4 risposte, 2 partecipanti ed è stato aggiornato l'ultima volta 16 anni, 9 mesi fa da .
-
Topic
-
Ciao a tutti,in una classe che sto scrivendo è da molto tempo che ho definito
i comandi (copiandoli non ricordo da dove):
`\providecommand*{\der}[3][]{\frac{d^{#1}#2}{d #3^{#1}}}
\providecommand*{\pder}[3][]{\frac{\partial^{#1}#2}{\partial #3^{#1}}}
`Solo ora mi sono accorto che le mie definizioni introducono a numeratore uno spazio in più, molto brutto da vedere secondo me.
Il problema è chiaramente dovuto al fatto che manca l’esponente.
`\documentclass{minimal}
\providecommand*{\der}[3][]{\frac{d^{#1}#2}{d #3^{#1}}}
\providecommand*{\pder}[3][]{\frac{\partial^{#1}#2}{\partial #3^{#1}}}
\begin{document}
\[
\der{f}{t}\quad\frac{df}{dt}\quad\pder{f}{t}\quad\frac{\partial f}{\partial t}
\]
\end{document}`Ora l’idea è quella di controllare se l’argomento opzionale è vuoto o meno.
Leggendo la sezione 3.5 degli “Appunti di programmazione in LaTeX e TeX” di Enrico
mi sono un po’ perso e alla fine non ho capito nel mio caso cosa mi conviene usare.
Per ora ho fatto così:
`\makeatletter
\providecommand*{\der}[3][]{\frac{d\if#1\@empty ^{#1}\else\relax\fi#2}{d #3\if#1\@empty ^{#1}\else\relax\fi}}
\providecommand*{\pder}[3][]{\frac{\partial\if#1\@empty ^{#1}\else\relax\fi#2}{\partial #3\if#1\@empty ^{#1}\else\relax\fi}}
\makeatother`
e sembra tutto funzionare.Vorrei sapere se questo codice può creare dei pasticci, soprattutto considerando che magari una persona può mettere anche roba strana a esponente, non solo numeri.
Grazie mille.
Ciao ciao.
Fra
- Devi essere connesso per rispondere a questo topic.