lstlisting環境でコメント文(#~~)の書体の変更方法について

lstlisting環境でコメント文(#~~)の書体の変更方法について

- 小林 コウキ の投稿
返信数: 12
lstlisting環境でコメント文(#~~)の仮名文字の書体の変更方法について,質問があります。

lstlisting環境で以下のように,環境を再定義しました。
コメント文(#~~)の仮名文字の書体をゴシックにしたいのですが,commentstyle=\textbfと指定しても変わりがありません。

\lstnewenvironment{ilstlisting}[2][]%
{\lst@TestEOLChar{#2}%
\lstset{#1, backgroundcolor=\color[cmyk]{0,0,0,0.2}, basicstyle=\ttfamily%
,commentstyle=\textbf
}%
\csname\@lst @SetFirstNumber\endcsname}%
{\csname\@lst @SaveFirstNumber\endcsname}%

設定のご存じの方がいらっしゃいましたら,教えていただけませんか。
よろしくお願いいたします。
小林 コウキ への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- m c の投稿
\textbfは本来は太字にするという意味ですので,ゴシック体にすることとは異なります.
commentstyle=\gtfamily あるいは commentstyle=\sffamily でいかがですか?

p.s.私自身は\ttfamilyで色を変更する設定にしています(\ttfamilyに対応する和文はゴシック体を設定)
m c への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- 小林 コウキ の投稿
m c様
ご返信ありがとうございます.


\lstnewenvironment{lstlisting}[2][]%入力
{\lst@TestEOLChar{#2}%
\lstset{#1, backgroundcolor=\color[cmyk]{0,0,0,0.2}, basicstyle=\ttfamily
,commentstyle=\sffamily
}%

のように設定しましたが,和文書体が明朝のままで,ゴシックになりません.
設定場所がいけないのでしょうか.
以下がソースになります.

\begin{lstlisting}
data <- test
test(test)
#test あいうえお
\end{lstlisting}%


よろしくお願いします.
小林 コウキ への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- m c の投稿
文書全体にかかる設定として,\sffamilyの和文書体が明朝のままなのではないでしょうか.
\gtfamilyではどうですか?
m c への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- 小林 コウキ の投稿
m c様
ご返信ありがとうございます.

lstlisting環境内の使用書体を
欧文はタイプライター体
和文をゴシック体
としたいのです.

basicstyle=\ttfamily
の設定ですと,欧文はタイプライター体,和文は明朝体となります.

デフォルトの
\DeclareTextFontCommand{\texttt}{\ttfamily}
を再定義して
\DeclareTextFontCommand{\texttt}{和文書体+cmttの合成フォント}%
として設定してみたのですが,<,>.-がcmmiやcmsyとなってしまいます.
半角英数字は全てcmttとしたいのです.

ややこしい説明わかりづらいかもしれませんが,よろしくお願いします.
小林 コウキ への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- m c の投稿
TeXエンジン(タイプセットのコマンド)とdocumentclassは何をお使いですか?
またotfパッケージはご利用になっていますか?

私はTeX Live 2022,uplatex+jsarticleでotfパッケージを使っていますが,\textttでは何の再定義もせずに
欧文タイプライタ書体と和文ゴシックで出力されます.
lstlisting環境(\ttfamilyを指定)も同様です.

#uplatex+jsarticle+otf以外の環境は使っていないので,その場合はご存じの方のアドバイスをお待ちします
m c への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- 小林 コウキ の投稿
m c様
ご返信ありがとうございます。

TeX Live 2022では,\textttでは再定義なしに,
欧文タイプライタ書体と和文ゴシック
となるのですね。

TeXエンジンはplatex以下のヴァージョンになります。
Version 3.141592-p3.1.4 (sjis) (Web2C 7.5.3)

TeXLiveではありません。
旧式の仕様で申し訳ありません。

よろしくお願いいたします。
小林 コウキ への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- m c の投稿
私のところではその環境がないので試せないのですが,lstlisting環境内のコメント書体指定を
commentstyle=\ttfamily\gtfamily
とするとどうなりますか?

上記でうまくいかない場合,
commentstyle=\romanfamily{cmtt}\kanjifamily{gt}
とすればどうなるでしょうか?
m c への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- 小林 コウキ の投稿
m c様
ご返信ありがとうございます。

1.
commentstyle=\ttfamily\gtfamily

2.
commentstyle=\romanfamily{cmtt}\kanjifamily{gt}


1.と2.の設定で試したみましたが,明朝のママでした。

教えていただいた方法以外で,先ほど,解決することができました。
お時間とお手数をおかけしてしまい,申し訳ありませんでした。
いろいろ勉強になりました。
ありがとうございました。

小林 コウキ への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- 北見 けん の投稿
> 教えていただいた方法以外で,先ほど,解決することができました

これはどんな方法だったか書いていただいたほうがよろしいかと。
北見 けん への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- 小林 コウキ の投稿
北見 けん様
ご指摘ありがとうございます。
大変失礼しました。

\lstnewenvironment{lstlisting}[2][]%
{\lst@TestEOLChar{#2}%
\lstset{#1, backgroundcolor=\color[cmyk]{0,0,0,0.2}, basicstyle=\ttfamily
,escapechar=\ァ
}%

escapechar=\ァ
と設定をして,ァで囲った中で¥マークを使用できるようにして,そこで個別に書体の指定をすることで,和文をゴシックに変更できました。

以下がソースになります。

\begin{lstlisting}
data <- test
test(test)
#test ァ{\gt あいうえお}ァ
\end{lstlisting}%


ありがとうございました。


小林 コウキ への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- 北見 けん の投稿
ありがとうございます。
回答した方も、どのように解決したのかというのは
気になるところだろうと思います。

設定で一斉に書体変更することはあきらめて、
逐一指定する方法にしたのですね。
ではでは。
小林 コウキ への返信

Re: lstlisting環境でコメント文(#~~)の書体の変更方法について

- m c の投稿
和文をエスケープ処理することで対処したとのこと,お知らせいただきありがとうございました.