¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- Edward Elric の投稿
返信数: 11
TeX初心者で、題名の通りです。
¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたいのですが、
そのような指令を出せるリニューコマンドをどなたか教えていただけないでしょうか。
Edward Elric への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- 北見 けん の投稿
ひと口に「数式中のフォント」といっても、世間では色々な種類のものが使われているので、
質問者さんがどういうものを望んでいるのか、はた目にはよくわからないと思います。

他の本文用のフォントと比べて「数式中のフォント」がどのような特徴を持っていると
質問者さんが考えているのかを、もう少し説明していただけると、対応しやすいと思います。
フォントの名前などの詳しい情報がわかるのならそれでもよいですし、
そのまま処理できるLaTeXのソースファイルを添えたりしてもよいかもしれません。

## ところで、新規の質問をする際に目につくところに
## 「質問の仕方」のような説明があるとよいと思うのですが、
## ちょっと見たところ見つけられませんでした。
北見 けん への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- Edward Elric の投稿
思慮が足りず申し訳ございませんでした。

macでインストールしたlatex(mactexとそれとは別でTeXShopも単独で)を使っています。¥section{A}と入力すれば、「1 A」という小節が出力されるかと思います。

この時、出力される英数字(ここで言えば1とA)のフォントを、{$¥rm $}で挟んだ時に出力される英数字のフォントと一緒にしたいのです。

以前私は、このフォーラムで質問しましたが、特に設定を弄らない状態の場合のTeXShopで出力されるページごとの「ページ数」の数字のフォントを、数式の数字のフォントと同じにする方法を質問させていただきました。

私の最終目的は、TeXShopで出力されるすべての英数字のフォントを統一したくて、さらにそのフォントを数式({$¥rm $})中の英数字のフォントで統一したいのです。

この目的を達成するための方法を教えていただけると助かります。


Edward Elric への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- aminophen の投稿
すでに北見けんさんが仰っていますが

> 他の本文用のフォントと比べて「数式中のフォント」がどのような特徴を持っていると
> 質問者さんが考えているのかを、もう少し説明していただけると、対応しやすいと思います。
> フォントの名前などの詳しい情報がわかるのならそれでもよいです

具体的になんという名前のフォントを使いたいのでしょうか。
それから、何をもって「数式フォントと同じ」と Edward さんがみなして
くださるかも大事ですね。

そもそも、TeX は何もしない状態では「Computer Modern ファミリ」に
統一されています。
通常の欧文は「Computer Modern Roman」
太字は「Computer Modern Bold」
斜体(イタリック)は「Computer Modern Italic」
といった具合で、数式も Computer Modern ナントカか、それに近い
デザインのフォントだと思います。
ファミリが一緒なら逐一フォント名まで同じでなくてよいのでは、と
私は思ってしまうのですが、そういうつもりではないのでしょうか。
よく理解できません。

たとえば単に「1」と書いた時と、「$1$」と書いた時で、目に見えて
「フォントが違う!!!」と Edward さんは思うのでしょうか。
もし思わないなら、質問自体がナンセンスですね。
(ページ番号に関する質問を眺めて、私はそう思いました)

\documentclass{jsarticle}
\begin{document}
ふつうの数字1、数式の数字$1$
\end{document}

今回の質問はセクションなのですけれど、最終目的が「全部統一したい」
とのことですので、このようなことをどれほど気にするかは後々大事でしょう。

ちなみに、TeXShop は「TeX を呼び出すためのソフトウェア」なので、
TeXShop の設定どうこうは出てくるフォントと関係ないですよ。
Edward Elric への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- 和田 勇 の投稿
同じフォントというと厳密には 「同じサイズで、書体デザインの同じ活字の一揃い」ということらしいのですが、「{$\rm$}云々」 という意図から拡大解釈してやりたいことを推測すると、『英数字が斜体あるいはイタリック体』になればいいのかしら?

今回の回答は上記を前提としてのものです。それと使用するフォントファミリで和字には斜体あるいはイタリック体が存在しないものを使用というのも前提です。

さて「セクションなどの見出しを調整する方法」として http://www.h4.dion.ne.jp/~latexcat/intro/i7-r2.html には \@startsection を利用する例が提示されていますので、この url 情報を元に説明します。

例えば article クラスを用いているのであれば、以下のようなコマンドをターミナルで実行すると \@startsection マクロを利用した \sectionなどの定義情報がわかります。(macOS をご利用だとのことで示しています。また記述箇所を明示のため行番号表示オプションなどを利用しています)

grep --after 3 -n @startsec $( kpsewhich latex/base/article.cls )

317:\newcommand\section{\@startsection {section}{1}{\z@}%
318- {-3.5ex \@plus -1ex \@minus -.2ex}%
319- {2.3ex \@plus.2ex}%
320- {\normalfont\Large\bfseries}}
--

以下省略

前述した url で \@startsection ッマクロには 6個引数があり一番最後の引数は、フォントスタイルに関する設定です。

ですので \section の場合は {\normalfont\Large\bfseries} の部分を調整すればお望みのフォントスタイル情報の設定ができると思います。

つまり「英数字は斜体(あるいはイタリック体)に」というのであれば\Large\bfseries を \normalsize\slshape あるいは \normalsize\itshape にすれば良いと思います。フォントサイズや太字属性を残すのであれば \slshape あるいは \itshape を追加すれば良いでしょう。

同様に \subsection なども必要に応じて対応してください。

なお、\section \subsection 等々それぞれ改修するのはちょっと面倒だ、あるいは、文字サイズや太字属性は目をつむるのであれば、 \@startsectionマクロを改修でも対応は一考です。
こちらは grep --after 15 -n @startsec $( kpsewhich latex.ltx ) で調べ #6 となっているところに \slshape あるいは \itshape を追加等を検討すれば良いでしょう。

#ストレートな回答も検討しましたが、今回は、ご自分でマクロ改修に挑戦してみてください。
#上記説明ではできるだけコピペを試みましたが、例示通り入力してうまくいかなくてもインターネットで類似のものを検索するよう試みてください。
#それでできなければ、改修された内容をここに提示してみてください。
和田 勇 への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- 北見 けん の投稿
「{$\rm$}云々」とあるので、斜体にしたいわけではないのだと思いました。
\rm では数式中でも立体のローマン体(cmrなど)が使われるはずなので。

Edward Elric への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- 北見 けん の投稿
お返事をありがとうございます。
数式フォントというのは、${\rm A1}$としたときに使われるフォントのことなのですね。

LaTeXではさまざまな種類の数式フォントを使うこともできますが、
おそらく質問者さんはLaTeXのデフォルト設定のまま使っているということで、
期待している数式フォントは cmr10 だと了解することにします。
(サイズは10ptではないかもしれませんが)
## (以下、##で始まる行は独り言という目印です。)
## 実は、デフォルト設定のままだと、地の文で「A1」としたときと、
## 数式中で「$\rm A1$」としたときはどちらも cmr10 というフォントが使われるので、
## 質問者さんが単に「本文用の英数字のフォント」といわずに
## 「数式中の英数字のフォント」といっていることの意図がよくわからなくなります。
## ちなみに、以前の質問に関連することですが、
## デフォルト設定ではページ番号にも cmr10 が使われます。
## ですので、質問者さんは実は、フォントを変更するような何らかの設定を
## ひそかに盛り込んでいるのではないかということも考えられます。
## それとも、本文用の英数字と、
## 数式中で \rm を指定したときのフォントが同じかどうかなど
## 考えてもみなかった ということなのかもしれませんが。
## という具合に、質問文の情報が足りな過ぎて、
## 回答者が検討しなければならない可能性が多岐にわたりすぎるために、
## とても解答しづらい質問になってしまっています。

さて、もう一つ確認したいことがあります。
「\section{A}と入力すれば、「1 A」という小節が出力される」
と書かれていましたが、
実は、\section{A}としたときに使われるフォントも設定次第で様々に変えられるので、
そちらで見ているフォントがどんなものなのかわからないのです。

例えば \documentclass{} のところで指定する文書クラスファイルによって、
使うフォントも違いますし、内部でどのようにフォントを指定しているかも違うので、
そのフォントを変えようするときの修正の仕方も変わってくるのです。
ですから、質問者さんが実際に使っているクラスファイルや、
LaTeXのデフォルト設定以外の設定を盛り込んでいないかどうかなどがわからない状況では
適切なアドバイスができません。

そこで、質問者さんが実際に使っているフォントが何なのかを再現できるような、
必要最小限の内容を盛り込んだ、そのままLaTeXで処理できるようなサンプルを
何か用意してもらえないでしょうか。
そうすると何か的確なアドバイスが得られるのではないかと思います。
よろしくお願いいたします。

北見 けん への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- Edward Elric の投稿
関連しそうなところだけ載せてみます。

¥documentclass[b5paper]{jarticle}
¥usepackage[utf8]{inputenc}
¥usepackage[T1]{fontenc}
¥usepackage[top=20truemm,bottom=20truemm,left=15truemm,right=15truemm]{geometry}
¥usepackage[dvipdfmx]{graphicx}
¥usepackage[dvipdfmx,svgnames]{xcolor}

% ページ上部の罫線を表示しない
¥renewcommand{¥headrulewidth}{0pt}

% フッターを中央(center)に表示し、内容は
% ¥thepageを数式モードで囲った出力とする
¥cfoot{$¥thepage$}
 
¥begin{document}

¥end{document}
Edward Elric への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- 北見 けん の投稿
お示しいただいたサンプルは、そのままではエラーが出るようです。
何か追加のパッケージでも必要なのでしょうか。
そうすると、そのパッケージがフォントを変えてしまうかもしれませんから、
やはりはっきりしたことは言えなさそうですね。
また、サンプルには \section なども含めていただいた方が、
試すときにやりやすそうです。

これまでやり取りをしてきましたが、なかなか詳しい説明をいただけないようで、
話が通じているのか不安になってきました。
何か知らない用語などがありましたらご指摘いただければと思います。
北見 けん への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- Edward Elric の投稿
すいません。いくつか入力情報が足りていませんでした。

↓以下訂正済み


¥documentclass[b5paper]{jarticle}
¥usepackage[utf8]{inputenc}
¥usepackage[T1]{fontenc}
¥usepackage[top=20truemm,bottom=20truemm,left=15truemm,right=15truemm]{geometry}
¥usepackage{type1cm}
¥usepackage[dvipdfmx]{graphicx}
¥usepackage[dvipdfmx,svgnames]{xcolor}

¥usepackage{fancyhdr}
¥pagestyle{fancy}

% ページ上部の罫線を表示しない
¥renewcommand{¥headrulewidth}{0pt}

% フッターを中央(center)に表示し、内容は
% ¥thepageを数式モードで囲った出力とする
¥cfoot{$¥thepage$}
 
¥begin{document}
¥end{document}
Edward Elric への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- 奥村 晴彦 の投稿
(何で今更T1でlmodernにしないの?とか,jsにしないでjにするのは好みの問題として)

本文を

\section{あ}
$1$ あ

にしてみると,どちらもComputer Modern Romanですよね(ただしセクション番号は太字)。

ひょっとしてセクション番号も細字にしたいというのがお望みのことなのでしょうか?
Edward Elric への返信

Re: ¥section系統のすべてのコマンドで表示される英数字をすべて数式中のフォントにしたい

- 北見 けん の投稿
## 追記です
あ、奥村さんからもコメントがありましたね。
太字になると別の意味になってしまうような数学記号については、
見出し中でも太字にしたくない(あるいは逆にその記号だけ太字に
したいのに他も太字になっていると埋もれてしまう)という要望は
ありうるかなと思います。
もしそうなら、質問者の方がそういうことを説明してくれると話が早いのですが。
## 追記ここまで

\documentclass[b5paper]{jarticle}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[top=20truemm,bottom=20truemm,left=15truemm,right=15truemm]{geometry}
\usepackage{type1cm}
\usepackage[dvipdfmx]{graphicx}
\usepackage[dvipdfmx,svgnames]{xcolor}

\usepackage{fancyhdr}
\pagestyle{fancy}

% ページ上部の罫線を表示しない
\renewcommand{\headrulewidth}{0pt}

% フッターを中央(center)に表示し、内容は
% \thepageを数式モードで囲った出力とする
\cfoot{$\thepage$}


\begin{document}

まず、こちらででっちあげたもともとの表示例を打ち込んでみました。

\section{A}%
「$\rm 1\ A$」$\leftarrow$これが\verb.$\rm 1\ A$.と入力したものです。

ここで、\verb.\section. の定義を変更して、太字にするのをやめてみます。
フォントサイズは大きくてもよいのでしょうか?

\makeatletter
% この時点での \section の定義は次のようになっています。
% この場所に \show\section と書いたときの log ファイルから得たものです。
\long\def\section{\@startsection
{section}{1}%
{\z@ }{1.5\Cvs \@plus .5\Cvs \@minus .2\Cvs }{.5\Cvs \@plus .3\Cvs }%
{\reset@font \Large \bfseries }}
% 次に示すのが \section の改変例です。
% 最後にあるフォント指定のうち、\bfseries を省けば、数式中のフォントと同じに見えるでしょうか?
\long\def\section{\@startsection
{section}{1}%
{\z@ }{1.5\Cvs \@plus .5\Cvs \@minus .2\Cvs }{.5\Cvs \@plus .3\Cvs }%
{\reset@font \Large }}
\makeatother

\section{A}%
「$\rm 1\ A$」$\leftarrow$これが\verb.$\rm 1\ A$.と入力したものです。

見出しのフォントが変わったでしょうか。

ページヘッダにある柱のところは斜体のままですね。
ヘッダのほうは fancyhdr の管轄ですね。

\end{document}