config.ymlのハイライト設定を有効化する。
highlight:
html: "rouge"
latex: "listings"
HTMLの場合はそのままでいいが、PDFを生成するとjlisting.styがないというエラーが出るので、jlisting.sty
を落としてきてstyディレクトリに放り込む。
シンタックスハイライト言語を追加する方法
rougeやpygmentsについては不明。ただし、開発が活発に続いておりたいていの言語には対応しているので困る場面は少ないだろう。
listingsはサポートしていない言語が多い。特に、最近の言語となると一切サポートがないので、シンタックスハイライトする言語を追加する必要がある。
texstyle
に指定されたstyファイル(デフォルトだとreviewmacro.sty
)に次のように書けばよい。他のファイルに分割したければusepackageを使う。
\lstdefinelanguage{javascript}{
% いろいろ書く
}
「いろいろ書く」の部分はlistingsで言語を追加する方法を調べるとわかる。
C#問題
ここで触れられている問題。
言語指定でC#とした場合、#
という記号のせいでシンタックスエラーが出てPDFのビルドに失敗する。幸い、pygmentsやrougeではcsharpというエイリアスが存在するのでそちらを使えばよい。
ただし、csharpという言語を指定してもlistingsは理解してくれないので、C#と同じルールのcsharpという言語を新たに定義する必要がある。
\lstdefinelanguage{csharp}{
language = [Sharp]C
}
スペースが謎の文字に置換される問題(LaTeX)
lstset
の内部でshowstringspaces=false
すればよい。reviewmacro.sty
でコメントアウトされている部分のコメントを外して追加するのが手っ取り早い。