プレゼンで太字を使いたい?
最近どうもここは私家版 TeX Q & A 解答欄みたいになっているけれど、
うーん……こういう話、正直言ってちょくちょく耳目にすることがある。jsarticleのslideや、Beamerを使ってスライドを作ろうとしたのですが、
\textbfや\bfseriesで文字を太字にすることがなぜかできません。
例えば、こんな感じでスライドを作ろうとしました。
--------------
\documentclass[slide, papersize]{jsarticle}
\usepackage[dvipdfmx]{graphics, color}
\begin{document}
\section{テスト}
\Large 太字にならない\\
\textbf{太字にならない}
\end{document}
-------------
これはjsarticleのslideですが、Beamerでも同じ現象が発生します。
それに対して、通常の文書を作成するときは、しっかりと太字になりました。
どなたか、原因が推測できる方がいらっしゃいましたら、ご教示ください。
よろしくお願いいたします。
ここで問題になるのは「太字って何よ?」という話だろう。日本語の場合、太字と言うとゴシック体、英語の場合だと bold face, フォントを変えて表すなら Serif に対する Sans Serif ということになるのだろう。しかし、だ…… jsarticle.cls の最後の方にはこう書かれている:
つまり、jsarticle.cls の slide オプションを使用するということは、日本語の標準フォントではゴシック体、それ以外のフォントでは Sans Sarif を default として使用する、ということなのである。だから、その文書の中で \textbf とか \textgt とか使っても変化はない。「最初からそうなっている」ものに「そうしなさい」というコマンドを適用しているわけで、何も変化する訳がないのである。\if@slide
\renewcommand\kanjifamilydefault{\gtdefault}
\renewcommand\familydefault{\sfdefault}
こういう場合はどうするか。日本語以外の文字に関して太字にしたい場合は、Sans Serif 系ということで Helvetica を選んで、その bold を指定すればいい、ということになる。日本語はゴシックでなく太ゴシックを指定すればいい、ということになるだろう。たとえば、
……とでもしてやればよい。ただし、太ゴシック (hgt) を用いるためには OTF パッケージを併用する必要があり、更に、hgt に対して適切な太ゴシックのフォントをアサインしたフォントマップが必要になる(詳細は「日本語フォントのセットアップ」を御参照のこと)。Beamer を使う場合でもやり方は変わらない。\documentclass[slide, papersize]{jsarticle}
\usepackage[expert,deluxe]{otf}
\begin{document}
\newcommand{\FUTO}{\usefont{T1}{phv}{b}{n} \usekanji{JY1}{hgt}{bx}{n}}
\section{テスト}
\Large 太字にならない\\
{\FUTO 太字になる}
\end{document}
しかし、だ。できる、というのと、それが効果的な手段だ、というのは、全く別の話である。正直言うけれど、僕はこうやって太くした「太字の更に太字」が美しいとは思えない。そもそも、強調したいんなら、アンダーラインを引くなり囲むなり、あるいは色を変えるなりすればいいだけの話である。何が何でも太くしなければならない、なんて理由は一つもない筈なのだ。だから、ここを読まれた方々には、こういうことで時間を空費しないでいただきたいと思うのだ。そのために、僕はこれを書いて己が時間を空費しているというわけ。
【後記】\usepackage[deluxe]{otf} を使うなら、\textbf{} で用は足りる、とのご指摘あり。追試して確認しました。なるほど。わざわざフォントを明示する必要はありませんでしたね。