2009春 夢束本LaTeX2ε組版まとめ (7)-実際にやった作業(Emacsを使用)
(LaTeX2ε組版まとめ (6)から続く)[ プロジェクト遺産へ]
Meadow(日本語Windows版Emacs)の利用
LaTeX2ε組版まとめ (1)で書きましたが、小説原稿を書くのにはテキスト・エディタを使うことが様々な利点があって適していると思います。自分がWindows派なので、何を薦めるかと問われればやはりMeadowと答えると思います。元々はEmacsというエディタがunixに存在して、unixを使う人の多くはEmacsに通じています。MeadowはEmacsをWindowsに移植して日本語処理を強化したエディタです。LinuxやWindows上のエディタについて相談を受けたことが何度もありますが、EmacsやMeadowを薦めることにしています。
そうすると決まって言われるのが「とっつきにくい」「ややこしい」などの感想です。ぼくはそういう時「我慢してひと月使い続けてごらん」と答えることにしています。それでもダメな人は縁がなかったということですが、多くの人はその強力で多彩な編集機能に驚き、気がついたらEmacs信者になっていました。
MeadowもEmacsもキーバインド(コマンドを指示するキーの組み合わせ)は共通なので、以下、MeadowはEmacsで読み替えてもらっても不都合は無いと思います。
そうすると決まって言われるのが「とっつきにくい」「ややこしい」などの感想です。ぼくはそういう時「我慢してひと月使い続けてごらん」と答えることにしています。それでもダメな人は縁がなかったということですが、多くの人はその強力で多彩な編集機能に驚き、気がついたらEmacs信者になっていました。
MeadowもEmacsもキーバインド(コマンドを指示するキーの組み合わせ)は共通なので、以下、MeadowはEmacsで読み替えてもらっても不都合は無いと思います。
MeadowのYaTeXモードを使った組版
現在、Meadowは有志の手で周辺マクロなども抱き合わせたパッケージ化されて配布されています。大昔は、LISPというプログラミング言語の知識がないと別な機能を組み込むのに苦労したものですが、今はLISPのことなど全く知らなくても、一通りの機能が実装された状態で使用開始できます。
その中にYaTeXモードというのがあって、LaTeX原稿すなわち拡張子が「.tex」のファイルを読み込むと自動的にYaTeXモードがスタートするようになっています。正直なところ、指がすっかりYaTeXモードに慣れきってしまっているので、LaTeXのコマンドはうろ覚えです。今回、一連の組版まとめを書くのに、何度もコマンド名を本で確認しました。
その中にYaTeXモードというのがあって、LaTeX原稿すなわち拡張子が「.tex」のファイルを読み込むと自動的にYaTeXモードがスタートするようになっています。正直なところ、指がすっかりYaTeXモードに慣れきってしまっているので、LaTeXのコマンドはうろ覚えです。今回、一連の組版まとめを書くのに、何度もコマンド名を本で確認しました。
まず、SSE本の各種原稿については、適用するLaTeXのドキュメントクラス、マクロパッケージはほぼ決まり切っているので、次のような「ひな形」を用意しておきます。最初の一回だけは作るのが面倒くさいですが、次回からは使い回しができるので大した苦労はありません。ちなみにLaTeX2ε組版まとめ (5)で書いた、章タイトル、項タイトルの偽装処理(笑)も含まれています。
----ここから----
\documentclass[a5j, twoside]{tarticle}
\documentclass[a5j, twoside]{tarticle}
\usepackage{okumacro}
\usepackage[dvips,dvipdfm]{graphicx}
\usepackage{furikana}
\usepackage{9pt}
\usepackage{multicol}
\usepackage{framed}
\usepackage{ascmac}
\usepackage{fancyhdr}
\usepackage{setspace}
\usepackage[dvips,dvipdfm]{color}
\usepackage[dvips,dvipdfm]{graphicx}
\usepackage{furikana}
\usepackage{9pt}
\usepackage{multicol}
\usepackage{framed}
\usepackage{ascmac}
\usepackage{fancyhdr}
\usepackage{setspace}
\usepackage[dvips,dvipdfm]{color}
\makeatletter
\renewcommand\section{\@startsection {section}{1}%
{\z@}%インデントの大きさ
{-0.1ex \@plus -0.05ex \@minus -.2ex}%見出し前のスペース
{0.1ex \@plus 0ex}%見出し後のスペース
{\normalfont\small\bfseries}}%見出し書式
\makeatother
\renewcommand\section{\@startsection {section}{1}%
{\z@}%インデントの大きさ
{-0.1ex \@plus -0.05ex \@minus -.2ex}%見出し前のスペース
{0.1ex \@plus 0ex}%見出し後のスペース
{\normalfont\small\bfseries}}%見出し書式
\makeatother
\makeatletter
\renewcommand\subsection{\@startsection {subsection}{2}%
{\z@}%インデントの大きさ
{-0.1ex \@plus -0.1ex \@minus -0.1ex}%見出し前のスペース
{0.1ex \@plus 0ex}%見出し後のスペース
{\normalfont\small\bfseries}}%見出し書式
\makeatother
\renewcommand\subsection{\@startsection {subsection}{2}%
{\z@}%インデントの大きさ
{-0.1ex \@plus -0.1ex \@minus -0.1ex}%見出し前のスペース
{0.1ex \@plus 0ex}%見出し後のスペース
{\normalfont\small\bfseries}}%見出し書式
\makeatother
\setlength{\parskip}{0\baselineskip}
\oddsidemargin = -1.7cm % 1inch - 1.4cm
\evensidemargin = -0.6cm % 15cm - 12cm - 1.4cm - 1inch
\topmargin = -1.5cm
\headheight = 8mm
\headsep = 3mm
\evensidemargin = -0.6cm % 15cm - 12cm - 1.4cm - 1inch
\topmargin = -1.5cm
\headheight = 8mm
\headsep = 3mm
\marginparsep = 0cm
\marginparwidth = 0cm
\footskip = 0.8cm
\marginparwidth = 0cm
\footskip = 0.8cm
\textheight = 12cm
\textwidth = 17cm % 57
\columnsep 1.5zh
\def\baselinestretch{1.1}
\textwidth = 17cm % 57
\columnsep 1.5zh
\def\baselinestretch{1.1}
\pagestyle{bothstyle}
\begin{document}
\end{document}
----ここまで----
----ここまで----
そして、企画担当者の皆さんから上がってきた生原稿を\begin{document}~\end{document}の間に流し込みます。LaTeX2ε組版まとめ (2)で書いたように、LaTeXでは普通のテキスト原稿の改行はつなげて処理してしまうので、各文末に「\\」を挿入します。何百行もあるから大変そうに聞こえますが、実際はMeadowのキーボード・マクロというものがあり、「行末にジャンプ→\\を入力→次の行へ移動」という作業を記憶させます。そうしておいて「 [Ctrl]u + 1000 + [Ctrl]x + e 」と入力します。これは「記憶させたキーボード・マクロを1000回繰り返しなさい」というMeadowのコマンドです。いくら何でも1000行以上もある原稿なんてありませんから、原稿の最終行まで「\\」を挿入したところで停止します。ここまで指を十回くらいしか動かしていません。慣れれば非常に簡単です。
YaTeXモードでは、LaTeXコマンドの入力も強力な補完機能があって、途中までコマンドを打ち込むと、その先を類推して補完してくれます。ぼくがLaTeXコマンドをいちいち覚えていないと言ったのは、こういう理由からです。
こんな調子で必要なところにLaTeXコマンドを埋めこむと、YaTeXモードの
[Ctrl]c + t + j → 組版
[Ctrl]c + t + p → dvioutで版下ファイルを表示
[Ctrl]c + t + p → dvioutで版下ファイルを表示
で版下のできあがりです。ただ、実際は、組版のところでエラーが起こって停止することが多いのですが、これはつまり、LaTeXコマンドの間違いや矛盾、要するにぼくのミスでエラーが起こるわけです。これを直しながら上記のYaTeX操作を繰り返し、最後にエラーが出なくなったら組版に関しては終わりです。
版下ファイルのPDF化(注意:フォントの埋め込みを忘れないこと)
印刷所に入稿するためにはPDF化する必要があります。これにはLaTeXのセットに同封されている dvipdfmx というプログラムを使います。これは、LaTeX2ε組版まとめ (2)で一度登場しましたね。あのときはWindowsのシェルである cmd を起動して dvipdfmx を動かしましたが、Meadowではシェルも呼び出せるので、Meadowを終了させる必要はありません。[Alt]x + shell と入力するとシェルが起動します。ぼくは、
Cygwin
を導入しているので、cmd の代わりに unix でもよく使われる bash というシェル環境が起動します。
#ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
企画がそれぞれの担当者のかたに分散している関係上、組版作業中は、個別のTeX原稿を用意して校正作業を進めていたのですが、印刷所に入稿するには一冊の本にまとめなけばなりません。そこで、LaTeXの \include{} という命令を使って、すべての個別原稿を main-all.tex という最終組版ファイルに呼び込むようにしました。したがって、main-all.tex を組版すれば本が出来上がるということになります。それについては上に示したように Meadow の YaTeXモードで組み上げることが出来ます。
これで main-all.dvi という版下ファイルができます。 この版下をシェル上で dvipdfmx を使って PDF に変換します。ここで注意しなければいけないのは、LaTeX2ε組版まとめ (2) で示した、 単に dvipdfmx に版下ファイルを食わせただけでは、できあがったPDFがフォントに関して不完全だということです。この方法では、出来上がったPDFファイルは仮のフォント名しか内蔵していません。このため、このPDFファイルを開くと、そのコンピューターにインストールされている最も近いと思われるフォントを使って文字を表示します。すなわち、PDFを開くコンピューターによって見栄えが異なるということになります。
一般的なPDFのやり取りでは、これで充分用が足りるのですが、本を制作する場合においては「どういう出来上がりになるか予測不能」というのは極めて心細いと思います。自分が作った本を間違いなくそのままの状態で仕上げてもらうには、使っているフォントをPDFファイルに埋めこんでしまうというのが確実です。
これで main-all.dvi という版下ファイルができます。 この版下をシェル上で dvipdfmx を使って PDF に変換します。ここで注意しなければいけないのは、LaTeX2ε組版まとめ (2) で示した、 単に dvipdfmx に版下ファイルを食わせただけでは、できあがったPDFがフォントに関して不完全だということです。この方法では、出来上がったPDFファイルは仮のフォント名しか内蔵していません。このため、このPDFファイルを開くと、そのコンピューターにインストールされている最も近いと思われるフォントを使って文字を表示します。すなわち、PDFを開くコンピューターによって見栄えが異なるということになります。
一般的なPDFのやり取りでは、これで充分用が足りるのですが、本を制作する場合においては「どういう出来上がりになるか予測不能」というのは極めて心細いと思います。自分が作った本を間違いなくそのままの状態で仕上げてもらうには、使っているフォントをPDFファイルに埋めこんでしまうというのが確実です。
★フォントの埋めこみ:良いフォント、悪いフォント
木本さんからアドバイスされたのですが、Windowsに標準で付いてくるMS明朝やMSゴシックは、デザイン的に横書きのことしか考慮されていないため、縦書きの本に使うと見苦しくなるそうです。かといってモリサワ・フォントなど商品として売られているフォントは、かなり高価です。プリンターを購入すると良いフォントが付属している場合があり、それを探すのが手っ取り早くお金もかからないと聞き、ぼくは職場でプリンターを老いてある部屋を尋ね歩くフォント行脚の旅をしました。その結果、HGフォント・セットというのを見つけ、試し刷りして状態も良さげだったので、これを拝借しました。
★フォント・マップの書き換え
さて次は、良いフォントが手に入ったとして、それをどうやってPDFに埋めこむかに話が移ります。
WindowsにLaTeX環境をインストールすると、
WindowsにLaTeX環境をインストールすると、
c:\usr\local\share\texmf\fonts\map\dvipdfm\base
というディレクトリに cid-x.map というマップ・ファイルが置かれ、dvipdfmx は、このファイルに書かれているフォント情報に従って版下ファイルをPDFに変換します。
まずは、この cid-x.map をTeX原稿のあるディレクトリにコピーします。その上で、ファイルの内容を書き換えます。内容はずら~っと色んな事が書かれていますが、書き換えるのは4行だけです。次の場所を探して下さい。
まずは、この cid-x.map をTeX原稿のあるディレクトリにコピーします。その上で、ファイルの内容を書き換えます。内容はずら~っと色んな事が書かれていますが、書き換えるのは4行だけです。次の場所を探して下さい。
----ここから----
rml H Ryumin-Light
gbm H GothicBBB-Medium
rmlv V Ryumin-Light
gbmv V GothicBBB-Medium
----ここまで----
rml H Ryumin-Light
gbm H GothicBBB-Medium
rmlv V Ryumin-Light
gbmv V GothicBBB-Medium
----ここまで----
この4行を先頭に%を付けて無効化します。
----ここから----
% rml H Ryumin-Light
% gbm H GothicBBB-Medium
% rmlv V Ryumin-Light
% gbmv V GothicBBB-Medium
----ここまで----
% rml H Ryumin-Light
% gbm H GothicBBB-Medium
% rmlv V Ryumin-Light
% gbmv V GothicBBB-Medium
----ここまで----
次に新たに4行を追加します。
----ここから----
rml H :0:HGRMB.TTC
gbm H :0:HGRGE.TTC
rmlv V :0:HGRMB.TTC
gbmv V :0:HGRGE.TTC
----ここまで----
rml H :0:HGRMB.TTC
gbm H :0:HGRGE.TTC
rmlv V :0:HGRMB.TTC
gbmv V :0:HGRGE.TTC
----ここまで----
ここで、それぞれの行の「:0:」の後ろに来る名前は、入手したフォントファイルの名前です。エクスプローラであらかじめ確認しておきましょう。
これでフォント埋めこみ用のマップファイルが出来ました。
これでフォント埋めこみ用のマップファイルが出来ました。
★dvipdfmxを使ったフォント埋めこみPDFファイルの作成
dvipdfmxを実行します。
#ref error :画像を取得できませんでした。しばらく時間を置いてから再度お試しください。
色々オプションがついていますね。
- 「-r 600」はPDFの解像度を600dpiにするという意味
- 「-z 0」はぼくもよく分かりません。おまじないということで書いておいて下さい。
- 「-p a5」は、A5用紙を使うということです。元のLaTeX原稿はドキュメントクラスでA5サイズを指定して組版しています。しかし、ここで何も指定しないで dvipdfmx をかけると、デフォルトでA4用紙の中に、こじんまりとA5版で組版されたPDFファイルが出来てしまいます。きちんとA5用紙であることを伝えるのがこのオプションです。
- 「-f cid-x.map」これは、フォント・マップに関する指定を、現在LaTeX原稿が置かれているディレクトリに存在する cid-x.map の内容を使って行いなさい、という指示です。そうすると、その cid-x.map には上述のように、フォントの埋めこみをするように内容を書き換えてありますので、出来上がったPDFファイルにフォントが埋めこまれます。これを指定し忘れると、dvipdfmx は、上で書いた
c:\usr\local\share\texmf\fonts\map\dvipdfm\base
にインストールされた cid-x.map を使ってPDF化してしまいますので、フォントを内蔵しないPDFになってしまいます。
- 「main-all」以上に述べたオプションを指定した上で、dvipdfmx に版下ファイル main-all.dvi を処理するように指示しています。
これでフォントを埋めこんだPDFファイルが出来上がり、組版上で見ているそっくりそのままの本が印刷所で製本されるようになります。
[ プロジェクト遺産へ]