2009-12-18 3 views
0

Хорошо, я настоящий LaTeX noob. Но я буду использовать его. И друг, который это знает (как студент, который пишет свой диплом с ним), сказал, что есть листинг пакета, который помещает исходный код в документ. Ну, после того, как я увидел пакет списков, я понял, что на самом деле этого не хочу. Поэтому мне любопытно, можно ли разработать нечто вроде этого пакета данных. Я понятия не имею, что такое «пакет» на самом деле. Сейчас я бы сказал, что это какая-то программа.Возможно ли разработать функции для LaTeX?

Итак: Как я могу написать модуль или пакет (или, что то, что люди LaTeX называют), чтобы расширить LaTeX с помощью специальных функций? Какой язык программирования я должен использовать там? И есть ли полезные советы в Интернете?

ответ

2

Латекс представляет собой набор программ, написанные на языке, известном как TeX :)

1

Вы можете посмотреть в source code of the listings package, если вы заинтересованы в его работе, но будьте осторожны. Написание пакетов LaTeX вам нелегко.

2

Для простых вещей вы можете определить свои собственные среды и команды. Узнайте, как использовать \newcommand и \newenvironment. Посмотрите на некоторые примеры here. Это просто.

Ввод ваших команд и сред в отдельный пакет является следующим шагом.

Программирование TeX (двигатель, на котором основан LaTeX) сложнее. TeXbook [1], [2] - твой друг.

0

Примером переписывания листингов является mcode which I found here. Если вы просматриваете файл .sty, у вас будет хорошая идея. Однако, если в качестве новичка вы должны разработать целый пакет, это может быть связано с тем, что вы не знаете, как использовать существующие вещи. Например, с листингами у вас много вариантов, и это может поместиться на разных языках. Если вы предпочитаете использовать псевдокод, вы можете взглянуть на пакет «алгоритм».

Смежные вопросы