『解説がくわしいドイツ語入門』(2014)   LaTeXの話

この本を書くに当たって、原稿は LaTeX で書きました。 私は、TeXnician ではありませんので、 あくまでも LaTeX レベルでの話が中心です。

『解説がくわしいドイツ語入門』趣旨 で書いたように、 LaTeX で書いた原稿をそのまま反映させて本にしたのではなく、 印刷屋さんには、LaTeX 原稿と、PDF 出力を間接的に渡しました。 従って、デザインは編集の方が行い、組版は印刷屋さんが行い、 校正の段階で出てきたデザインと組版を見て、 それに合わせて私は原稿を後追いで、 LaTeX で書き換えて行きました。

環境は Vine Linux 6.2LaTeX (TeXLive 2009)で、文字コードは utf-8GNU Emacs 23.3.1 + yatex で作業しました。

今回、組版をした時に面白いなと思ったことをつまみ食い的にメモしておきます。

☞ 『解説がくわしいドイツ語入門』趣旨
☞ 『解説がくわしいドイツ語入門』Errata
☞ 『解説がくわしいドイツ語入門』裏の話

伸び縮みするカッコを色づけする (15.März 2014)

ドイツ語の文法の説明ではしばしば表が登場します。 表組みの話は、また後でするとして、三人称単数の時の動詞の形を明示するために、 大きな中括弧(brace)を使いたくて、 次のように伸び縮みするカッコを用いました。

$ で挟んで数式モードにして、 \left\{ が左カッコ、 \right\} が右カッコです。 中括弧の中身は、tabular環境で段をつけました。 まずは細部を省略しますが、だいたい以下のようになります。

table 5, 『解説がくわしいドイツ語入門』
\begin{tabular}{lll} \hline
人称 & 人称代名詞 & haben 動詞\\ \hline
 1 人称単数 & \hspace{1.3zw}ich\hspace{1.2zw}(私は)& \textbf{habe} \\
 2 人称単数 & \hspace{1.3zw}du\hspace{1.5zw}(君は)& \textbf{hast}  \\
 3 人称単数 &   $ \left\{ %
  \begin{tabular}{ll}
    er  & (彼は)  \\
    sie & (彼女は)\\
    es  & (それは)\\
  \end{tabular}
  \right\} $ & \textbf{hat} \\ \hline

日本では、表の左右を閉じてしまう形式が多いようですが、 欧米で多く見れられる左右を閉じない表を採用しました。 実際に、校正時に上がってきた原稿でも、 この伸び縮みカッコを採用してくれました。

問題は、色付けでした。 最終的には青緑のような色が使われましたが、 この伸び縮みするカッコにも、この青緑が使われていました。

半信半疑だったのですが、論理的に考えてできることは、 LaTeX でもできるのが普通です。 そこで、たとえば \color{blue}\normalcolor の間に、 中括弧を挟んでやればできるのではないか、と考えました。 実際に以下のようにすることで、期待通りの結果が得られました。

ここでは、\color{brandeisblue} としています。 これは、http://latexcolor.com/ を参考にプリアンブルの中に、

\definecolor{brandeisblue}{rgb}{0.00, 0.44, 1.00} % Brandeis Blue

のように名前を付けています。ちなみに、 TeXLive2013color package では、 いきなり \color{blue} とやっても認識してくれないようなので、

\definecolor{blue}{rgb}{0.0, 0.0, 1.0} % Blue

のように blue もちゃんとプリアンブル中に定義してあげなくてはなりません。

table 5 色付き, 『解説がくわしいドイツ語入門』
\begin{tabular}{lll} \hline
人称 & 人称代名詞 & haben 動詞\\ \hline
 1 人称単数 & \hspace{1.3zw}ich\hspace{1.2zw}(私は)& \textbf{habe} \\
 2 人称単数 & \hspace{1.3zw}du\hspace{1.5zw}(君は)& \textbf{hast}  \\
 3 人称単数 & \color{brandeisblue} $ \left\{ %
   \normalcolor %
  \begin{tabular}{ll}
    er  & (彼は)  \\
    sie & (彼女は)\\
    es  & (それは)\\
  \end{tabular} \color{brandeisblue} 
  \right\} $ \normalcolor & \textbf{hat} \\ \hline

2番目の表では、さらにフォントを変え、キャプションの位置を変えています。 これについては以下で別に説明します。


表のキャプションの位置を変える (15.März 2014)

表に通し番号を付けるとか、キャプション(表の短い説明文)を付けるのは、 論文を書く時の常識ですが、本書では、 かなりの最後まで、 通し番号もキャプションも付けさせてもらえない可能性が高かったのです。 それは、番号が無くても分かる、キャプションが無くても分かる、という発想で、さらには、 スペースが足りないという現実的問題がありました。

いろいろと議論をした結果、表の右下に小さく通し番号とキャプションを載せるのならよい、 ということになりました。その部分は、LaTeX ででは手に負えないので、 キャプションに対応する部分を以下のようにプリアンブルに書きました。 \sffamily でサンセリフ体にしたのは、 文字間のスペースが節約できるからです。

\makeatletter % caption
\long\def\@makecaption#1#2{\small %
\vskip\abovecaptionskip
\iftdir\sbox\@tempboxa{#1\hskip1zw#2} % 
\else\sbox\@tempboxa{\sffamily{#1\hskip1ex}#2} % ←フォント変更
\fi
\ifdim \wd\@tempboxa >\hsize%
\iftdir #1\hskip1zw#2\relax\par
\else \sffamily{#1\hskip1ex}#2\relax\par\fi % ←フォント変更
\else
\global \@minipagefalse
% \hbox to\hsize{\hfil\box\@tempboxa\hfil}
\hbox to\hsize{\hfil\box\@tempboxa} % 右寄せに変更
\fi
\vskip\belowcaptionskip}
\makeatother 

最終的には、以下のような形で、2つ目の表は書きました。 ごちゃごちゃしていますが、 ようするに \sffamily でサンセリフ体にし、 フォントサイズを \footnotesize にして、 部分的に \hspace{} でスペースの調整をしているだけです。 babel package を使っていますが、 \selectlanguage{japanese} をしているのは、 キャプションのところに出る文字(「表」)を日本語にするためです。 \selectlanguage{ngerman} のままだと、 Tabelle になります。

\selectlanguage{japanese}
\begin{table}[!htb]
 \begin{center}
\begin{tabular}{lll} \hline
   \sffamily\footnotesize 人称  & %
   \hspace{1.3zw}\sffamily\footnotesize 人称代名詞 & %
   \sffamily haben {\footnotesize 動詞}\\ \hline
   \sffamily\footnotesize 1 人称単数 & %
   \hspace{1.3zw}\textbf{\sffamily ich}\hspace{1.2zw}{\footnotesize (私は)} & %
   \textbf{\sffamily habe} \\ \hline
   \sffamily\footnotesize 2 人称単数 & %
   \hspace{1.3zw}\textbf{\sffamily du}\hspace{1.5zw}{\footnotesize (君は)} & %
   \textbf{\sffamily hast}  \\ \hline
   \sffamily\footnotesize 3 人称単数 & \color{brandeisblue}  $ \left\{%
    \normalcolor %
    \begin{tabular}{ll}
    \textbf{\sffamily er}   & \sffamily\footnotesize (彼は)  \\
    \textbf{\sffamily sie}  & \sffamily\footnotesize (彼女は)\\
    \textbf{\sffamily es}   & \sffamily\footnotesize (それは)\\
    \end{tabular}  \color{brandeisblue} 
    \right\} $ \normalcolor & %
   \textbf{\sffamily hat} \\ \hline
   \sffamily\footnotesize 1 人称複数 & %
   \hspace{1.25zw}\textbf{\sffamily wir}{\footnotesize (私たちは)} & %
   \textbf{\sffamily haben} \\ \hline
   \sffamily\footnotesize 2 人称複数 & %
   \hspace{1.25zw}\textbf{\sffamily ihr}{\footnotesize (君たちは)} & %
   \textbf{\sffamily habt} \\ \hline
   \sffamily\footnotesize 3 人称複数 & %
   \hspace{1.25zw}\textbf{\sffamily sie}{\footnotesize (彼らは、彼女らは、それらは)} & %
   \textbf{\sffamily haben} \\ \hline
  \end{tabular}
 \end{center}
 \caption{\sffamily haben 動詞の人称変化}
 \label{konjugationstabelle-haben}
\end{table}
\selectlanguage{ngerman}