LaTeX のプログラムリストを tcolorbox を使って出力する
2019-04-09
664 words
2 mins read
目次
tcolorbox パッケージを使うと、 箱にはいった環境を比較的簡単に作ることができます tcolorbox のドキュメントを見るには次のコマンドを使用してください: いろいろな例がのっています(英文です)。
texdoc tcolorbox
ここでは tcolorbox を使った、プログラムリストの表示を 紹介します。
1 tcolorbox の設定
まず tcolorbox の設定を行ないます:
2 programlist 環境
プログラムリストを出力する programlist 環境を 作成します。
3 programlist 環境の例
programlist 環境は このようにして使います(Org-mode のマニュアルからの例):
このように出力されます:
4 Org-mode から programlist 環境を使う
この programlist 環境を、 Org-mode の LaTeX エクスポートから 使う設定です。
4.1 programlist 環境を使うための Org-mode の設定
Org-mode の src
ブロックを LaTeX の
programlist 環境に変換するための設定です。
次のものを Emacs の初期化ファイルに入れてください:
(setq org-latex-custom-lang-environments
'(
(c "\\begin{programlist}[label={%l}]{c}{: %c}%s\\end{programlist}")
(ditaa "\\begin{programlist}[label={%l}]{text}{: %c}%s\\end{programlist}")
(emacs-lisp "\\begin{programlist}[label={%l}]{lisp}{: %c}%s\\end{programlist}")
(ruby "\\begin{programlist}[label={%l}]{ruby}{: %c}%s\\end{programlist}")
(latex "\\begin{programlist}[label={%l}]{latex}{: %c}%s\\end{programlist}")
(lua "\\begin{programlist}[label={%l}]{lua}{: %c}%s\\end{programlist}")
(java "\\begin{programlist}[label={%l}]{java}{: %c}%s\\end{programlist}")
(javascript "\\begin{programlist}[label={%l}]{javascript}{: %c}%s\\end{programlist}")
(json "\\begin{programlist}[label={%l}]{json}{: %c}%s\\end{programlist}")
(plantuml "\\begin{programlist}[label={%l}]{text}{: %c}%s\\end{programlist}")
(maxima "\\begin{programlist}[label={%l}]{text}{: %c}%s\\end{programlist}")
(ipython "\\begin{programlist}[label={%l}]{python}{: %c}%s\\end{programlist}")
(python "\\begin{programlist}[label={%l}]{python}{: %c}%s\\end{programlist}")
(perl "\\begin{programlist}[label={%l}]{perl}{: %c}%s\\end{programlist}")
(html "\\begin{programlist}[label={%l}]{html}{: %c}%s\\end{programlist}")
(org "\\begin{programlist}[label={%l}]{text}{: %c}%s\\end{programlist}")
(typescript "\\begin{programlist}[label={%l}]{typescript}{: %c}%s\\end{programlist}")
(scss "\\begin{programlist}[label={%l}]{scss}{: %c}%s\\end{programlist}")
(sh "\\begin{programlist}[label={%l}]{shell}{: %c}%s\\end{programlist}")
(shellinput "\\begin{shellinput}[%c]%s\\end{shellinput}")
(shelloutput "\\begin{shelloutput}[%c]%s\\end{shelloutput}")
))
必用であれば言語を追加してください。
4.2 mystyle.sty の作成
Org-mode のファイルの中で programlist の設定を書くのは
面倒くさいので、
定義を格納する mystyle.sty
を
次の内容で作成します。
4.3 Org-mode のファイルの設定
次に Org-mode のファイルの設定です。
# ドキュメントクラスの指定
#+LATEX_CLASS: jsbook
# ドキュメントクラスのオプションの指定
#+LATEX_CLASS_OPTIONS: [dvipdfmx,a4j,uplatex,openany]
# カスタムスタイルの読み込み
#+LATEX_HEADER: \usepackage{mystyle}
以上で色つきの箱にはいったプログラムリストが Org-mode から LaTeX にエクスポートされるはずです。
Related Articles:
- 2019/04/06 LaTeX ページのヘッダーとフッターの変更
- 2019/04/05 LaTeX の emph を蛍光ペンでひいたようなスタイルにする