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 | просмотров: 6625 ⇐ ◄
О том как (правильно) написать сообщение...
Написать ответ
Время генерации страницы в секундах: 0.079