Добавление кода программы в Латекс / LyX

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

Кто-либо получил какие-либо прекрасные идеи? Я не волнуюсь по поводу подсветки синтаксиса; все, что я хочу, является моей клавишей Tab назад!

10
задан 03.11.2010, 02:43

4 ответа

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

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

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

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

Тем путем Ваш ЛАТЕКС все еще приятно располагается с отступом, но Ваш дословный код не. Это также обеспечивает подсветку синтаксиса, которая я знаю, что Вы упомянули, что не интересовались. Просто не определяйте язык.

13
ответ дан 07.12.2019, 12:41

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

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

4
ответ дан 07.12.2019, 12:41

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

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

2
ответ дан 07.12.2019, 12:41

Для использования пакета списков необходимо будет включать пакет и загрузить необходимые языки в преамбуле:

\usepackage{listings}
\lstloadlanguages{Python}

Установите некоторые опции в документе:

\lstset{language=Python,tabsize=2}

... и затем можно или дать встроенные отрывки:

\begin{lstlisting}
  print ("Hello, World!")
\end{lstlisting}

... или считайте их из файла:

\lstinputlisting[firstline=10,lastline=20]{Hello.py}

... или напишите встроенный код: \lstinline!print ("Hello, World!")!

1
ответ дан 07.12.2019, 12:41

Теги

Похожие вопросы