特定の環境内だけ数式を含めてフォントを変えるには

特定の環境内だけ数式を含めてフォントを変えるには

- 村岡 の投稿
返信数: 14
一時的に数式も含めてフォントファミリを変更したいのですが,どうすればよいか分からないので御教示頂きたいです.
具体的には,itembox環境の中だけ,欧文と数式はサンセリフ体,和文はゴシック体にしたいのですが,数式のフォントが変わりません.
\begin{itembox}[c]{タイトル}
と打った後,
\gtfamily\sffamily
と書いた後に文章を書けば,欧文と和文に関してはそれぞれサンセリフとゴシックになるのですが,数式はデフォルトのセリフ体のままです.
preambleで
\usepackage{cmbright}
などとすれば,確かに数式はサンセリフになりますが,これではすべての数式がサンセリフになってしまいます.
LuaLaTeXを使っているので,\fontspecでどうにかできるのかも? とも考えましたが,\fontspec{cmbright}と打つと,そんなフォントは見つからないと怒られてしまいました.
特定の環境の中でだけ,欧文と数式はサンセリフ体,和文はゴシック体とするにはどう設定すればよいのか,御教示願います.
村岡 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 伊藤 直人 の投稿
村岡 様

bxcmbrightというパッケージを用いて,添付ファイルのようにするのはいかがでしょうか。


bxcmbrightパッケージは,TeXLiveに含まれていないため,村岡さんの方でダウンロードしていただく必要があります。ダウンロード先リンクについては,添付ファイルのコメントをご確認ください。



伊藤 直人 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 伊藤 直人 の投稿
イメージとしては,以下のようになります。
添付 スクリーンショット_2022-08-24_145537.png
伊藤 直人 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 村岡 の投稿
御教示有難うございます.これは素晴らしいですね.ふとパッケージの作者に目を向けますと,八登先生のパッケージでしたか.pxrubricaなどお世話になりっぱなしです.
ちなみに,cmbright以外のフォントについても同種のパッケージはあるのですか?
村岡 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 伊藤 直人 の投稿
村岡 様

お役に立てて何よりです。

さて,「cmbright以外のフォントについても同種のパッケージはあるのですか?」についてですが私が調べた限りでは見つかりませんでした。もし,TeXフォーラムにご参加の皆様でご存じの方がおられましたら,ご教授いただると幸いです。
伊藤 直人 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 村岡 の投稿
わざわざ探して頂き,有難うございます.同種のパッケージが無いとなれば,八登先生には猶更感謝しなければなりませんね.
伊藤様も大変良いパッケージの紹介,有難うございました.自分では見つけることができなかったので,感謝してもしきれません.やりたかったことが容易に実現でき,満足しております.
伊藤 直人 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 流橋 利樹 の投稿
Kp-Fonts には 6 個の mode(normal、bold、sf、boldsf、rm、boldrm)が予め定義されていて、\mathversion{boldsf} のようにして局所的に切り替えることができるようです。

\documentclass[uplatex,dvips]{jsarticle}
\usepackage{kpfonts}
\begin{document}
\[
\int \sqrt{\sin x} \, dx
\]


\begingroup
\gtfamily\sffamily
\mathversion{boldsf}
\[
\int \sqrt{\sin x} \, dx
\]

\endgroup
\end{document}

フォントにこだわりがないようでしたら使い勝手は良いように思います。

なお、OTF 版(kpfonts-otf)もあり、LuaLaTeX ならこちらのほうが良いのかもしれませんが、sans-serif の bold がないようです。
流橋 利樹 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 村岡 の投稿
有難うございます.
少し試してみましたが,セリフ体もLatinModernとは印象も変わり,面白いですね.たいへんお洒落なフォントだなという印象を受けました.
切替が容易なのも嬉しいですね.
御教示有難うございます.
村岡 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- しっぽ 愛好家 の投稿
このような問題に対しては,既製品の有無に関係なく対処できる「基本」をやるのがスジでしょうね.

まず,\boldmath というコマンドについて確認してください.
このコマンドの適用範囲では数式が「太字版」になります.
それと同様に数式を「サンセリフ版」とか,ほかのフォントを適用した版といったものに
変更するためのコマンドを導入すればよいということになります.

実際,\DeclareMathVerstion というコマンドを
\DeclareMathVersion{<新しいバージョン名>}
のように用いれば,新しい数式バージョン <新しいバージョン名> を導入できます.
数式をこのバージョンに切り替えるには \mathversion というコマンドを
\mathversion{<新しいバージョン名>}
のように用います.
# 実際,\boldmath の定義の主要な部分は \mathversion{bold} という,
# 数式を「bold バージョン」に切り替える処理です.
また,新設したバージョンの数式で用いる数式フォントを設定するには,
\SetSymbolFont や \SetMathAlphabet というコマンドを用います.

【例】LaTeX 自体における,bold バージョンに対する設定
\SetSymbolFont{operators}{bold}{OT1}{cmr} {bx}{n}
\SetSymbolFont{letters}  {bold}{OML}{cmm} {b}{it}
\SetSymbolFont{symbols}  {bold}{OMS}{cmsy}{b}{n}
\SetMathAlphabet\mathsf{bold}{OT1}{cmss}{bx}{n}
\SetMathAlphabet\mathit{bold}{OT1}{cmr}{bx}{it}

例えば,
\SetSymbolFont{letters}  {bold}{OML}{cmm} {b}{it}
というのは,letters グループ(数式中の通常の文字(結局,アルファベット)の分類名)
に対して,bold バージョンでは,属性 OML/cmm/b/it(テキスト用フォントとして用いる際の属性)の
フォントを適用する,という設定です.
# 実際,属性 OML/cmm/b/it には,LaTeX のデフォルトでは
# (太字の数式用イタリックの)cmmib10 などが割り当てられています.

これらのコマンドの用法および使用上の注意点については,
LaTeX におけるフォントの用法について扱った参考書を参照してください.
しっぽ 愛好家 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 村岡 の投稿
吉永先生有難うございます.\boldmathはよく利用しており,言わば「\boldmath ≒\mathversion{bold}」であることだけはちらっと聞いたことがありましたが,それ以外は初めて知りました.勉強になります.
>また,新設したバージョンの数式で用いる数式フォントを設定するには,
>\SetSymbolFont や \SetMathAlphabet というコマンドを用います.
>
>【例】LaTeX 自体における,bold バージョンに対する設定
>\SetSymbolFont{operators}{bold}{OT1}{cmr} {bx}{n}
>\SetSymbolFont{letters} {bold}{OML}{cmm} {b}{it}
>\SetSymbolFont{symbols} {bold}{OMS}{cmsy}{b}{n}
>\SetMathAlphabet\mathsf{bold}{OT1}{cmss}{bx}{n}
>\SetMathAlphabet\mathit{bold}{OT1}{cmr}{bx}{it}
>
>例えば,
>\SetSymbolFont{letters} {bold}{OML}{cmm} {b}{it}
>というのは,letters グループ(数式中の通常の文字(結局,アルファベット)の分類名)
>に対して,bold バージョンでは,属性 OML/cmm/b/it(テキスト用フォントとして用いる際の属性)の
>フォントを適用する,という設定です.
># 実際,属性 OML/cmm/b/it には,LaTeX のデフォルトでは
># (太字の数式用イタリックの)cmmib10 などが割り当てられています.
気軽に「\boldmath」と使っておりましたが,非常に難しいのですね.エンコーディングやファミリ,シリーズ,シェイプなどの属性を細かく指定し,適用させている,といった具合でしょうか.
素直に告白すると,今まで碌にフォントに拘った事が無く,ほぼデフォルトやパッケージで提供される済ませてきた人間なもので,フォントやそういった内部的なコマンドに関して全くの無知でして,率直に申し上げて理解が全く追いつきません.お恥ずかしい限りです.

因みに「LaTeX におけるフォントの用法について扱った参考書」というのは具体的にはどういったものが挙げられるでしょうか? 何を購入すれば良いかすら見当がつかないので,よろしければお薦めの書籍など御教示ください.
当方,そういったことは不得手なものですから,自分で実装するなどのhigh-levelなことは到底できそうもありませんが,この機会に,何をしているのか凡そ理解できるくらいの,最低限の知識は備えておきたいと思っております.
村岡 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- しっぽ 愛好家 の投稿
>「LaTeX におけるフォントの用法について扱った参考書」
現在入手可能なものから選ぶとすれば,``The LaTeX Companion'' がよいのでは?
# source2e.tex にも「すべて」書いてありますが……
しっぽ 愛好家 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 村岡 の投稿
有難うございます.TeXWikiの「TeXの本」(https://texwiki.texjp.org/?TeX%E3%81%AE%E6%9C%AC)などでも記載はなく,存じておりませんでした.
高額なようなので,今すぐにとはいきませんが,入手を検討したいと思います.

source2e.texというのはいったい何のことかわからず,小一時間TeXLive関連のディレクトリを調べていましたが,先程やっと見つかりました.手厚いリファレンス的存在でしょうか.英語は不得手ですが,PDFにしたものを頑張って読んでみます.


村岡 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 北見 けん の投稿
『LaTeXコンパニオン』は、TeXWikiの「TeXの本」の下の方からリンクされている絶版本のページにあるようですね。

## 「TeXの本」のウィキページを久しぶりに見たのですが、出版年ごとのリストになっているのですね。
## これからTeXについて勉強しようという人が出版年を頼りに本を探すのが便利だとは思えないので、
## ちょっとどうかなと思いました。出版年順のリストに変更されたのは2013年11月30日の様でした。
## どういう意図なのかはわかりませんが。

source2e.tex はどちらかと言えばLaTeX2eの実装についての説明ですね。
LaTeXのユーザー向けに書かれたフォントの説明としては fontguide.tex のほうがよいかなと思います。
math version についての説明もあります。

## LaTeXの説明文書は他にもいろいろありましたね。
## clsguide.tex とか modguide.tex とか。
## 最近の動向はよく知らないのですが。
北見 けん への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 村岡 の投稿
絶版本でしたか.道理で高額なわけです.
fontguide.texというのはfntguide.texのことでしょうか.非常に細かく書かれており,勉強になりそうです.翻訳ソフトの力も借りながら読み進めたいと思います.

>## LaTeXの説明文書は他にもいろいろありましたね。
>## clsguide.tex とか modguide.tex とか。

結構あるのですね.時間があるときにそれらも目を通しておきます.
村岡 への返信

Re: 特定の環境内だけ数式を含めてフォントを変えるには

- 北見 けん の投稿
> fontguide.texというのはfntguide.texのことでしょうか

ああ、そうでした。fntguide.texです。
ファイル名を間違えてはいけなかったですね。

> >## LaTeXの説明文書は他にもいろいろありましたね。
> >## clsguide.tex とか modguide.tex とか。
>
> 結構あるのですね.時間があるときにそれらも目を通しておきます.

他にも usrguide.tex などがありますね。
しかし上にも書きましたが、最近の事情はよくわかっていません。
最近のLaTeXにマッチした公式文書としては
上記の ***guide.tex とは別のものが用意されていたような気もします。