Some HAT...

= Анабар.ru => TeX-форумы => Система TeX => сообщение 77
| Вход | Регистрация
нет
фото
Автор:  Женя
Дата:  15-Dec-2003 20:54 (gmt = -3.0)
E-mail:  emin@mccme.ru

Знаете ли вы что (как) | прочные команды LaTeX

Сравнительно недавно узнал механизм работы прочной команды в LaTeX: Команда DeclareRobastCommand{name}[n]{implemantation} Объявляет команду ame_ (где подчерк это пробел) которая и выполняет код, impementation. А команда ame ссылается на ame_. Делается это через механизм TeX'а csnameendcsname. Примерно так:

expandafterdefcsname ame endcsname{implementation} def ame{csname ame endcsname}

Таким образом, когда команда записывается во внешний файл и раскрывается она записывает ame_ и при следующем прочтении TeX видит ame (пробелы ведь игнорируются!) — команда получается прочная.

Самый цирк начинается, когда вы пробуете спросить у LaTeX что нибудь командой show:

show ame покажет вам

ame = ame_

И это правильно, но вы пробела на экране неувидите и будете несказанно обрадованы мнимым «зацикливанием» системы. Правильный поступок в этом случае выглядит так:

expandaftershowcsname ame endcsname

Женя


все сообщения ветви:
  • 77 Знаете ли вы что (как) | прочные команды LaTeX  Женя  | 15-Dec-2003, 20:54 | просмотров: 7161    ⇐ ◄

О том как (правильно) написать сообщение...

Написать ответ

* Ник    
E-mail   Получать ответы  
Ссылка (URL)   мин. уровень чтения  
Картинка (URL)   мин. уровень ответа  
* Тема ответа  
Текст сообщения (можно не заполнять)

Время генерации страницы в секундах: 0.071