LINUX.ORG.RU

latex - newcommand

 ,


0

2

При попытке подружиться с латехом возникла пара вопросов.

Буду благодарна всем откликнувшимся)

1.

Как я поняла из мануалов, \newcommand позволяет сделать один необязательный параметр ([default]):

\newcommand{cmd}[nargs][default]{defn}

Но мне надо несколько. Собственно вопрос как распарсить строку типа [arg1, arg2, arg3]

По идее можно сделать на примере grafics.sty,

так как его команда \includegraphics подразумевает похожий необязательный параметр.

Однако я не разобралась, хотелось бы попроще пример.

2.

Можно ли как-то определить папку, в которой расположен текущий файл main.tex?

Это требуется, например, если я запускаю приложение и передаю ему путь к моему tex-файлу.

Казалось бы, простая вещь то, да и нужная.

1. Я это делаю при помощи нормального теха, а не латеховских извращений.

2. Либо погуглить, либо pwd запустить при помощи \write18

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от TatianaSh

Есть там и про команды с аргументами (нужно парсить токены и искать открывающуюся квадратную скобку), и про сложные токены, и много еще про что. Причем, примеров полно было!

А вот с объяснением — да. Плохо у дяди Кнута с педагогикой. Пожалуй, из меня и то препод лучше, чем из Дональда Эдвина.

Eddy_Em ☆☆☆☆☆
()

Прежде чем что-то пытаться наваять погляди уже имеющиеся пакеты: http://www.ibm.com/developerworks/ru/library/latex_styles_11/

Про 2 не понял. Создай какой-нибудь конфигурационный файл который приложение будет читать и узнавать где что лежит.

Evgueni ★★★★★
()

Но мне надо несколько

Тогда тебе нужно либо чистым техом, либо через специальные пакеты, предоставляющие альтернативы командам типа \newcommand

Можно ли как-то определить папку, в которой расположен текущий файл main.tex?

Из латеха, насколько мне известно, нет

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.