Spec-Zone.ru › LaTeX

\DeclareTextCommand & \ProvideTextCommand

Синтаксис, один из:

\DeclareTextCommand{\cmd}{encoding}{defn}
\DeclareTextCommand{\cmd}{encoding}[nargs]{defn}
\DeclareTextCommand{\cmd}{encoding}[nargs][optargdefault]{defn}

или один из:

\ProvideTextCommand{\cmd}{encoding}{defn}
\ProvideTextCommand{\cmd}{encoding}[nargs]{defn}
\ProvideTextCommand{\cmd}{encoding}[nargs][optargdefault]{defn}

Определяет команду \cmd, которая будет специфичной для одного кодирования. Имя команды cmd должно предваряться обратной косой чертой, \. Эти команды могут появляться только в преамбуле. Переопределение \cmd не вызывает ошибки. Определённая команда будет устойчивой, даже если код в defn хрупкий (см. \protect).

Например, файл t1enc.def содержит эту строку.

\DeclareTextCommand{\textperthousand}{T1}{\%\char 24 }

С этим вы можете выразить части на тысячу.

\usepackage[T1]{fontenc}  % in preamble
  ...
Legal limit is \( 0.8 \)\textperthousand.

Если вы измените кодировку шрифта на OT1 , то получите ошибку типа ‘LaTeX Error: Command \textperthousand unavailable in encoding OT1’.

Вариант \ProvideTextCommand делает то же самое, за исключением того, что он ничего не делает, если \cmd уже определён. Команда \DeclareTextSymbol быстрее, чем эта, для простого сопоставления слота с глифом (см. \DeclareTextSymbol)

Дополнительные аргументы nargs и optargdefault играют здесь ту же роль, что и в \newcommand (см. \newcommand & \renewcommand). Вкратце, nargs — целое число от 0 до 9, указывающее количество аргументов, которые принимает определённая команда \cmd. Это число включает любой необязательный аргумент. Пропуск этого аргумента эквивалентен указанию 0, что означает, что \cmd не будет иметь аргументов. И если optargdefault присутствует, то первый аргумент \cmd является необязательным с значением по умолчанию optargdefault (которое может быть пустой строкой). Если optargdefault отсутствует, то \cmd не принимает необязательный аргумент.

© 2007–2018 Karl Berry
Public Domain Software
http://latexref.xyz/_005cDeclareTextCommand-_0026-_005cProvideTextCommand.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API