Добавление программного кода в LaTex / LyX

Добавление программного кода в LaTex / LyX

Может быть, я просто тупой, но я не могу найти разумного способа просто вставить свой (python) код в latex, не потеряв при этом всю информацию об отступах (она довольно важна для python).

У кого-нибудь есть светлые идеи? Меня не волнует подсветка синтаксиса; все, что мне нужно, это вернуть клавишу Tab!

решение1

Моя любимая среда для этогоотчеканенный. Я использую его для ввода целых исходных файлов, таких как:

\inputminted[linenos,fontsize=\scriptsize]{python}{script.py}

Вы также можете использовать его без ввода файла и, что более важно, определить, какой отступ он должен иметь.поглощаетпосле вставки:

\newminted{python}{gobble=4,linenos,fontsize=\scriptsize}
\begin{pythoncode}
    print('I am a Python script')
\end{pythoncode}

Таким образом, ваш LaTeX все еще будет хорошо отступлен, но ваш дословный код — нет. Это также обеспечивает подсветку синтаксиса, которая, как я знаю, вы упоминали, что вас не интересует. Просто не определяйте язык.

решение2

Вам следует использовать следующую среду:http://web.mit.edu/vogt/www/latex/ltx-79.html

Если проблема возникает сразу при вставке... используете ли вы IDE для создания документа? Попробуйте просто открыть файл в текстовом редакторе, например gedit или notepad.

решение3

Я бы выбрал minted, как предложил Фидели, но хорошо бы знатьпакетlistings, который представляет собой чистое латексное решение проблемы.

mintedпроисходит отПигменты, подсветчик исходного кода, написанный на Python. mintedсочетается с мостом Latex, основанным на \write18, ипакетtexmentsпредоставляет один для Pygments. Насколько я знаю, недостатков по сравнению с Pygments нет minted: возможно, в какой-то момент эти два будут объединены.

решение4

Для LyX см.этот(импортирует дочерний документ, используя формат «listing»).

Связанный контент