2009-06-24 3 views
4

Je travaille sur un grand projet impliquant plusieurs documents mis en LaTeX. Je veux être cohérent dans mon utilisation des symboles, donc ce serait une bonne idée de définir une commande pour chaque symbole ayant une signification spécifique tout au long du projet. Est-ce que quelqu'un a de l'expérience avec ça? Y a-t-il des problèmes auxquels je devrais faire attention?Définir chaque symbole comme une commande dans LaTeX

Un peu plus spécifique. Dire que, dans le document que j'indiqueraient quelque chose appelé par un script perméabilité P, serait-il une idée de définir

\providecommand{\permeability}{\mathscr{P}} 

ou serait-ce plutôt le cas « définir une commande pour $ n $ »?

Répondre

3

Je fais cela pour tout ce qui a un sens spécifique et est plus long qu'un seul symbole, la plupart du temps pour diminuer la frappe:

\newcommand{\objId}{\mbox{$\mathit{objId}$}\xspace} 
\newcommand{\insOp}[1]{#1\mbox{$^+$}\xspace} 
\newcommand{\delOp}[1]{#1\mbox{$^-$}\xspace} 

Cependant je remarque que je me suis arrêté de faire des erreurs d'incohérence (objID vs ObjId vs ObjID), donc je suis d'accord que c'est une bonne idée.

Cependant, je ne suis pas sûr si elle est une bonne idée dans les symboles de cas dans la sortie sont, bien, simples symboles latins, comme dans:

\newcommand{\numOfObjs}{$n$} 

Il est trop facile de taper un symbole unique et oublier à ce sujet même si une commande a été définie pour cela.

EDIT: en utilisant votre exemple IMHO ce serait une bonne idée de définir \permeability parce que c'est plus qu'un simple P que vous devez taper sans la commande. Mais c'est un appel proche.

+0

Merci. Je pense que je vais utiliser la commande, surtout parce que j'ai tendance à changer de notation parfois. – Martijn

3

Quelques conseils:

  • En utilisant \providecommand définiront cette commande que si cela n'a pas été défini précédemment. Donc, si vous n'obtenez pas les résultats attendus, vous essayez peut-être de définir une commande qui a été définie ailleurs.
  • Si vous enveloppez le calcul dans vos commandes avec \ensuremath, il fera la bonne chose, peu importe si vous êtes en mode mathématique lorsque vous exécutez la commande suivante:

    \providecommand{\permeability}{\ensuremath{\mathscr{P}}} 
    Now I can easily use \permeability in text or $\permeability$ in math mode. 
    
  • En utilisant vos propres commandes vous permet pour changer facilement la représentation typographique de quelque chose plus tard. Par exemple:

    \newcommand{\vect}[1]{\ensuremath{\mathbf{#1}}} 
    

    imprimerait \vect{x} comme x en gras. Si vous décidez que vous préférez vos flèches au-dessus des vecteurs, vous pouvez changer la commande:

    \newcommand{\vect}[1]{\ensuremath{\vec{#1}}}