Latexに日本語を含んだソースコードを載せる

こんてんつ

texソースコードを載せる場合は「\usepackage{listings}」でやる。しかしながら、日本語を含んだソースコードを載せようとすると、文字化けしてしまう問題がある。「\usepackage{jlisting}」を導入して、文字化けさせない方法を下記に掲載する。

結論

次の2ステップを実施して、

  • jlistingパッケージの導入(DL+配置)
  • listing、jlistingパッケージの使用

下記のソースコードで実現できる。

\documentclass[a4paper,11pt,oneside,openany]{jsbook}
\usepackage{listings} %ソースコードを書けるようにする
\usepackage{jlisting} %日本語が文字化けしないようにする

\lstset{ %↓ここはソースコードの書式設定
  basicstyle={\ttfamily},
  identifierstyle={\normalsize},
  commentstyle={\smallitshape},
  keywordstyle={\small\bfseries},
  ndkeywordstyle={\small},
  stringstyle={\small\ttfamily},
  frame={tb},
  breaklines=true,
  columns=[l]{fullflexible},
  numbers=left,
  xrightmargin=0zw,
  xleftmargin=3zw,
  numberstyle={\scriptsize},
  stepnumber=1,
  numbersep=1zw,
  lineskip=-0.5ex
}

\begin{document}

\begin{lstlisting}[caption=hoge] %↓ここにソースコードを書く
# 平均値を0に
sl_ave = np.average(sl_data)  # 平均値
sl_data -= sl_ave  # 平均値を引く
sw_ave = np.average(sw_data)
sw_data -= sw_ave
\end{lstlisting}

\end{document}

jlistingパッケージの導入

パッケージのDL

Google等で「jlisting tex」などと検索してパッケージをDLする。私は、下記からDLした(https://osdn.net/projects/mytexpert/downloads/26068/jlisting.sty.bz2/)。

DLしたファイルの解凍

ファイルを解凍すると、中に「jlisting.sty」が入っている。 f:id:norunblog:20210724134402j:plain

.styファイルの移動

listings.styが有るフォルダの中に「jlisting.sty」を入れる。 f:id:norunblog:20210724135732j:plain

基本的には、Texworksが.styを取りに行く場所にある。 f:id:norunblog:20210724135919j:plain

これで文字化けしなくなるはず。