LaTex / LyXにプログラミングコードを追加する

LaTex / LyXにプログラミングコードを追加する

私が鈍感なだけかもしれませんが、インデント情報 (Python ではかなり重要) をすべて失うことなく、(Python) コードを LaTeX に単純に貼り付ける合理的な方法が見つかりません。

誰かいいアイデアありませんか? 構文の強調表示については心配していません。タブ キーが戻ってくることだけを望んでいます。

答え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

verbatim 環境を使用する必要があります。http://web.mit.edu/vogt/www/latex/ltx-79.html

貼り付けた直後に問題が発生する場合は、ドキュメントを作成するために IDE を使用していますか? gedit やメモ帳などのプレーン テキスト エディターでファイルを開いてみてください。

答え3

私はフィデリが提案したように を選びますmintedが、知っておくと良いでしょうそのlistings包みこれは、問題に対する純粋な Latex ソリューションです。

minted由来はピグメントはPythonで書かれたソースハイライターです。 mintedをベースにしたLatexブリッジと連携し\write18そのtexments包みPygments 用のものを提供しています。私の知る限り、Pygments と比較して欠点はありませんminted。おそらく、この 2 つはいずれ統合されるでしょう。

答え4

LyXについては、これ(「リスト」形式を使用して子ドキュメントをインポートします)。

関連情報