
私が鈍感なだけかもしれませんが、インデント情報 (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については、これ(「リスト」形式を使用して子ドキュメントをインポートします)。