マクロツイーター

はてダから移行した記事の表示が崩れてますが、そのうちに直せればいいのに(えっ)

ギリシャ文字もラテン文字も数字も、でも時々、CM Bright をつかってみた

今回は、ある環境中のギリシャ文字のみを Computer Modern Bright のそれらに置き換えるので、以下のように cmbr を接頭辞を付加した cmbrletters という名前で、Computer Modern Bright の数式イタリックを場当たり的に定義しておいて、その環境中で \alpha, \beta, ... をそれぞれ \cmbralpha, \cmbrbeta, ... に置き換えてみた。

引用元記事に書かれた状況から考えると、やりたいのは「ギリシャ文字だけ」CM Bright にするのではなく、「ある一部の箇所だけ」CM Bright にすることのように思える。だとすると、math version 切替を使うのはどうだろうか。

  • \bright\unbright: CM Bright 系統/既定系統に数式フォントのセットを切り替える。スコープは局所的。非数式モードでのみ使用可能(\boldmath と同じ使い方((\boldmath の実体は \mathversion{bold} のことで、要するに math version の切替である。)))。
  • \mathbright{<サブ数式>}\mathunbright{<サブ数式>}: 引数のサブ数式を CM Bright 系統/既定系統のセットで出力する。数式モードでのみ使用可能。

ここで「CM Bright 系統」というのは cmbright パッケージ読込時に指定される数式フォントセットで、大雑把に言うと、本来セリフ系であるもの(\mathnormal\mathrm 等)が CM Bright、タイプライタ体(\mathtt)が CM Typewriter Light になる。((サンセリフ系(\mathsf)は無意味なので使わない前提。))「既定系統」というのは、その文書で bxcmbright を読み込まない場合に使われる数式フォントのセットのことで、他の数式フォントパッケージの読込があればそれに従い、なければ LaTeX 既定のセット(CM Math Italic 等)である。

\documentclass[a4paper,fleqn]{article}
%\usepackage{yaclabo}
\usepackage{bxcmbright}
\usepackage{amstext}
\newcommand\SampEq{%
  ax + \mathrm{by} + \mathbf{c\hat{x}} + \mathit{d\hat{y}} +
  \mathtt{e\tilde{x}} + \alpha_1x' + 
  \mathrm{\beta_2y'} + \mathbf{\gamma_3z'} = 42
}
\setlength{\parindent}{0pt}
\begin{document}
We have
\[ \SampEq. \] % 既定系統
\bright However we should have had
\[ \SampEq. \] % CM Bright 系統

\unbright % 一旦元に戻す
Finally, we try to prove
\[ % bright と unbright を混ぜる
   \mathrm{foo1} + \mathit{bar2} +
   \mathbright{\mathrm{foo3} + \mathit{bar4} + \tau\epsilon\chi
   = \displaystyle\sum_{\lambda\in\mathcal{D}(\mathunbright{q})}
     \mathunbright{q}(\lambda)}
\]
in vain.
\end{document}