2009-06-24 2 views
4

Я работаю над большим проектом, включающим несколько наборов документов в LaTeX. Я хочу быть последовательным в использовании символов, поэтому было бы неплохо определить команду для каждого символа, который имеет конкретный смысл во всем проекте. У кого-нибудь есть опыт? Есть ли вопросы, на которые я должен обратить внимание?Определить каждый символ как команду в LaTeX

Немного более конкретный. Скажем, что на протяжении всего документа я обозначил бы то, что называется Проницаемостью сценария P, было бы идея определить

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

или это было бы больше похоже на случай «определяющую команду для $ N $»?

ответ

3

Я делал это для чего-нибудь, что имеет определенный смысл и длиннее одного символа, в основном, чтобы сохранить набор текста:

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

Однако потом я заметил, что я перестал делать ошибки несогласованности (ObjId против ObjId vs ObjID), поэтому я согласен, что это хорошая идея.

Однако я не уверен, что это хорошая идея, в случае, если символы в выходной, ну, единичные латинские символы, например:

\newcommand{\numOfObjs}{$n$} 

Это слишком легко ввести один символ и забыть об этом, хотя для него была определена команда.

EDIT: используя ваш пример IMHO, было бы неплохо определить \permeability, потому что это больше, чем один P, который вы должны вводить без команды. Но это близкий звонок.

+0

Спасибо. Я думаю, что буду использовать команду, особенно потому, что иногда меняю обозначения. – Martijn

3

Несколько советов:

  • Использование \providecommand будет определять эту команду, только если он не был ранее определен. Поэтому, если вы не получаете ожидаемые результаты, вы можете попытаться определить команду, определенную в другом месте.
  • Если вы заключаете математику в ваших командах с \ensuremath, он будет делать правильные вещи, независимо от того, вы в математическом режиме, когда вы выдаете команду:

    \providecommand{\permeability}{\ensuremath{\mathscr{P}}} 
    Now I can easily use \permeability in text or $\permeability$ in math mode. 
    
  • Использование собственных команд позволяет чтобы легко изменить типографическое представление чего-то позже. Например:

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

    \vect{x} будет печатать как полужирный х. Если позже вы предпочитаете стрелки выше ваших векторов, вы можете изменить команду:

    \newcommand{\vect}[1]{\ensuremath{\vec{#1}}} 
    
Смежные вопросы