ギリシャ文字のみ Computer Modern Bright をつかってみた
某書籍では、図表環境である float 環境中の書体を、和文も含めて san-serif 系にしている。ところが、この float 環境中でしばしば $\alpha$, $\beta$ などのギリシャ文字が現れるので、serif な Computer Modern の数式書体(cmmi10 など)を使われると、なじまない。
こんなときは、「和文書体の全角ギリシャ文字を使うのがjk」ではなくて、sans serif な Computer Mordern の一つである Computer Modern Bright CTAN: tex-archive/fonts/cmbright を試してみるとよいかもしれない。
数式書体を含めて全体を Computer Modern Bright にする場合は、
\usepackage{cmbright}
とすればよい。
今回は、ある環境中のギリシャ文字のみを Computer Modern Bright のそれらに置き換えるので、以下のように cmbr を接頭辞を付加した cmbrletters という名前で、Computer Modern Bright の数式イタリックを場当たり的に定義しておいて、その環境中で \alpha, \beta, ... をそれぞれ \cmbralpha, \cmbrbeta, ... に置き換えてみた。
%% defined \cmbrXXXXX where XXXXX is a Greek letter %% from cmbright.sty 2002/05/25 v7.1 (WaS) \DeclareSymbolFont {cmbrletters} {OML}{cmbrm}{m}{it} \DeclareMathSymbol{\cmbralpha}{\mathalpha}{cmbrletters}{11} \DeclareMathSymbol{\cmbrbeta}{\mathalpha}{cmbrletters}{12} \DeclareMathSymbol{\cmbrgamma}{\mathalpha}{cmbrletters}{13} \DeclareMathSymbol{\cmbrdelta}{\mathalpha}{cmbrletters}{14} \DeclareMathSymbol{\cmbrepsilon}{\mathalpha}{cmbrletters}{15} \DeclareMathSymbol{\cmbrzeta}{\mathalpha}{cmbrletters}{16} \DeclareMathSymbol{\cmbrGamma}{\mathalpha}{cmbrletters}{0} \DeclareMathSymbol{\cmbreta}{\mathalpha}{cmbrletters}{17} \DeclareMathSymbol{\cmbrtheta}{\mathalpha}{cmbrletters}{18} \DeclareMathSymbol{\cmbriota}{\mathalpha}{cmbrletters}{19} \DeclareMathSymbol{\cmbrkappa}{\mathalpha}{cmbrletters}{20} \DeclareMathSymbol{\cmbrlambda}{\mathalpha}{cmbrletters}{21} \DeclareMathSymbol{\cmbrmu}{\mathalpha}{cmbrletters}{22} \DeclareMathSymbol{\cmbrnu}{\mathalpha}{cmbrletters}{23} \DeclareMathSymbol{\cmbrxi}{\mathalpha}{cmbrletters}{24} \DeclareMathSymbol{\cmbrpi}{\mathalpha}{cmbrletters}{25} \DeclareMathSymbol{\cmbrrho}{\mathalpha}{cmbrletters}{26} \DeclareMathSymbol{\cmbrsigma}{\mathalpha}{cmbrletters}{27} \DeclareMathSymbol{\cmbrtau}{\mathalpha}{cmbrletters}{28} \DeclareMathSymbol{\cmbrupsilon}{\mathalpha}{cmbrletters}{29} \DeclareMathSymbol{\cmbrphi}{\mathalpha}{cmbrletters}{30} \DeclareMathSymbol{\cmbrchi}{\mathalpha}{cmbrletters}{31} \DeclareMathSymbol{\cmbrpsi}{\mathalpha}{cmbrletters}{32} \DeclareMathSymbol{\cmbromega}{\mathalpha}{cmbrletters}{33} \DeclareMathSymbol{\cmbrvarepsilon}{\mathalpha}{cmbrletters}{34} \DeclareMathSymbol{\cmbrvartheta}{\mathalpha}{cmbrletters}{35} \DeclareMathSymbol{\cmbrvarpi}{\mathalpha}{cmbrletters}{36} \DeclareMathSymbol{\cmbrvarrho}{\mathalpha}{cmbrletters}{37} \DeclareMathSymbol{\cmbrvarsigma}{\mathalpha}{cmbrletters}{38} \DeclareMathSymbol{\cmbrvarphi}{\mathalpha}{cmbrletters}{39} \makeatletter \@for\x:={alpha,beta,gamma,delta,epsilon,zeta,Gamma,eta,theta,iota,kappa,lambda,mu,nu,xi,pi,rho,sigma,tau,upsilon,phi,chi,psi,omega,varepsilon,vartheta,varpi,varrho,varsigma,varphi}\do{ \expandafter\expandafter\expandafter \let\expandafter \csname\expandafter\x\expandafter\endcsname \csname cmbr\x\endcsname } \makeatother
もっと smart な方法があるかもしれないが、とりあえず目的は達成できたので、これで良しとしよう。
何よりも、\expandafter\expandafter\expandafter ... を使えた日は、たとえその解がどんなに簡単であろうとも、ニヤニヤしまうな(笑