Как вставить код в документ LaTeX? Есть ли что-то вроде:
\begin{code}## Heading ##
...
\end{code}
Единственное, что мне действительно нужно, это отступ и шрифт фиксированной ширины. Подсветка синтаксиса может быть хорошей, хотя это определенно не требуется.
Ответы:
Используйте
listings
пакет.Простая конфигурация для заголовка LaTeX (до
\begin{document}
):Вы можете изменить язык по умолчанию в середине документа с помощью
\lstset{language=Java}
.Пример использования в документе:
Вот результат:
источник
figure
могло бы достичь эффекта.Вы также можете использовать дословную среду
источник
Вот как добавить встроенный код:
Вы можете добавить встроенный код с помощью
{\tt code }
или\texttt{ code }
. Если вы хотите отформатировать встроенный код, то было бы лучше сделать свою собственную командуТакже обратите внимание, что блоки кода могут быть загружены из других файлов с
breaklines
не требуется, но я считаю это полезным. Имейте в виду, что вам придется указать\usepackage{
списки}
для этого.Обновление: пакет листингов также включает
\lstinline
команду, которая имеет те же функции подсветки синтаксиса, что\lstlisting
и\lstinputlisting
команды и (подробности конфигурации см. В ответе Cloudanger). Как упоминалось в нескольких других ответах, есть также пакет minted, который предоставляет\mintinline
команду. Как\lstinline
,\mintinline
обеспечивает тот же синтаксис , как обычный чеканились блок кода:источник
Специализированные пакеты, такие как
minted
, который использует Pygments для выполнения форматирования, предлагают различные преимущества по сравнению сlistings
пакетом. Цитировать изminted
руководства,источник
-shell-escape
директивы является, в лучшем случае, незначительной модификацией существующих систем сборки, а в худшем случае несовместимо с настройками безопасности некоторых пользователей.Используйте чеканку .
Это пакет, который облегчает выразительную подсветку синтаксиса в LaTeX, используя мощную библиотеку Pygments . Пакет также предоставляет опции для настройки выделенного вывода исходного кода с помощью fancyvrb .
Это намного более развито и настраиваемо, чем любой другой пакет!
источник
-shell-escape
некоторые люди могут сосать.Чеканились workes в следующих двух страницах , TeX Live и MiKTeX.
Пример:
Вывод:
источник
Поскольку это еще не было упомянуто здесь, возможно, стоит добавить еще одну опцию, package
spverbatim
(без подсветки синтаксиса):Также, если подсветка синтаксиса не требуется, пакет
alltt
:источник
Используйте Пигменты !
источник