12

hereで説明されているように、minted パッケージはソース コードの一覧表示に非常に優れていることがわかります。

私の質問は、AucTeX/emacs で作成されたパッケージを使用する方法ですか? コマンドラインには を使用できますpdflatex -shell-escape SOURCEが、

  • Q1 : AucTeX を変更して を挿入するにはどうすればよい-shell-escapeですか? Cつまり、 - c+ C-のアクションを変更する方法はc?
  • Q2 : オプションにC- c+ C-以外の特別なキーが必要ですか? それとも問題なく使えて大丈夫ですか?c-shell-escape
  • Q3 : は何の-shell-escapeためですか?
4

3 に答える 3

14

Q1:AucTeXによるLaTeXの呼び出し方法を編集する必要があります。これを行う1つの方法は、.emacsファイルに以下を追加することです。

(eval-after-load "tex" 
  '(setcdr (assoc "LaTeX" TeX-command-list)
          '("%`%l%(mode) -shell-escape%' %t"
          TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX")
    )
  )

Q2:変更を加えると、CcCcを使用したLaTeXへのすべての呼び出しで-shell-escapeオプションが使用されます。

Q3:コンラッドの答えを参照してください。この方法では-shell-escape、AucTeXで編集されたすべてのファイルが有効になるため、他の人のパッケージまたはファイルを使用する場合、潜在的なセキュリティリスクになる可能性があることに注意してください。

于 2010-07-22T12:37:08.147 に答える
8

最近のバージョンの auctex では、TeX-command-extra-optionsこの目的のために設計された を設定する方が信頼性が高いようで、さまざまな形式の を上書きすることはありませんTeX-command。私が理解しているように(間違っている可能性があります)、これはグローバルに設定することはできませんが、ファイルごとに設定する必要があります。フックでこれを行うことができます。たとえば、次のように.emacs追加できます。

(add-hook 'TeX-mode-hook
  (lambda ()
    (setq TeX-command-extra-options "-shell-escape")
  )
)

また、latex コマンド呼び出しを完全に上書きするわけではないため、 [フックの外で発生する可能性がある] でsynctexサポートをオンにするなど、他の機能は引き続き機能します。(setq TeX-source-correlate-mode t)

于 2014-11-26T18:07:24.873 に答える
7

質問3にしか答えられません。

「-shell-escape」とは何ですか?

minted は、サードパーティ アプリケーション を使用しpygmentizeてソース コードを処理します。LaTeX では通常、セキュリティ上の理由から、他のアプリケーションを呼び出すことは許可されていません (そうしないと、不正なパッケージが任意のコードを呼び出す可能性があります)。外部アプリケーションの呼び出しを明示的に有効にするには、このいわゆるシェルへのエスケープを有効にする必要があります。これは、ほとんどの LaTeX インストールでは、-shell-escapeスイッチを介して行われます。

于 2010-07-21T16:30:44.217 に答える