LyX2.4より以前のバージョンを用いて, ここでは新しい日本語LaTeXファイルを作成しましょう.論文には書かないですが,プログラムのcodeの一部をメモに入れたいと思いますよね.でも,従来のLaTeXのListing環境では, 日本語+プログラムリストが動作しません.解決を試みましょう.
JListings利用
pLaTeXではListing環境の日本語版が使えますが, まあpLaTeXなのでやめときましょう.
Minted利用
とりあえず全然違う方法として, Listingではなく, Minted環境を利用する.Mintedを利用するには,
- Pygmentyze とかいう Pythonパッケージをインストールしておく.
蛇に生理的拒否感がある人
- ターミナルで sudo python3 -m pip install pygments と入力するらしい.
- python3 なんて知らんとエラーする場合インストール
- うまくいったら which pygmentize がインストール場所を示す
$ which pygmentize
/Library/Frameworks/Python.framework/Versions/お前さのインストールしたバージョン/bin/pygmentize
- LyXのPreferences でPATHに /Library/Frameworks/Python.framework/Versions/お前さのインストールしたバージョン/bin を追加
蛇が平気な人
- ターミナルで sudo pip install pygmentyze と入力するらしい.
- うまくいったら ls $HOME/opt/anaconda3/bin/pygmentyze が見える:
$ ls -l $HOME/opt/anaconda3/bin/pygmentize -rwxr-xr-x 1 sugimoto staff 245 10 23 14:46 /Users/sugimoto/opt/anaconda3/bin/pygmentize
- LyXのPreferences でPATHに $HOME/opt/anaconda3/bin を追加する
- ほんで
各文書に設定する
- 【文書】【プログラムリスト】【食堂ハイライト】Minted
- 【文書】【形式】【外部プログラムを実行つまりセキュリティホール作成】にチェック
- で,文書をビルドすると
もちろん,「まあふつーに許可」を選択する
使い方
まあ普通に入力すると,こんな裏寂れた感じで出力される:
こんなんじゃやだ,と思う場合【文書】【ローカルのレイアウト】に
Format 66 Style C++Code Category MainText Margin Static LatexType Environment LatexName cppcode NextNoIndent 1 LeftMargin MMM RightMargin MMM PassThru 1 ParbreakIsNewline 1 ParSkip 0 Align Block AlignPossible Block, Left, Right, Center LabelFont Color branchlabel Size Small EndFont Font Color foreground Family typewriter Size ScriptSize EndFont Preamble \usepackage{minted} \newminted{cpp{mathescape,linenos=true,fontsize=\small,bgcolor=white,frame=lines,framesep=2mm} EndPreamble End
こんな感じで入れる:
そうすると, 書式にC++Codeが使えるようになって
まあ,あとは自分の好みってことで良いんじゃねえか