実はTex/LaTexのコードはまだあまり詳しくないからLyxを使っています。必要な微調整の時だけに手でコードを入れます。
XeTexは簡単にどのようなフォントでも使用できるから主に使っています。特に印刷用のヒラギノ.otfフォントとマクロンの多いTimes Extended Roman.ttfを使っています。
これからは論文の中に古典の長い文章を入れようと思って、縦書きや訓点や割注などを使ってみましたけれどもなかなかできません。
どうすればいいですか。
よろしくお願いします。
(本題から少し外れます。)
(最近では、「欧文の LaTeX のみを使っている人が日本語をやろうとして pLaTeX ではなく XeLaTeX を選択するというパターン」も増えているようなので、pTeX の使用を前提にするのはあまり適切でない場合もあるかと思います。もちろん、pLaTeX 用のパッケージは XeLaTeX で読み込むと \NeedsTeXFormat
で蹴られるので使えません
。)
XeTeXの縦書きは次のように実現することが想定されています。
縦書き用のフォントを用い、横転した文字(縦書き用のフォントを横書きで無理に使うとそのようになりますね)を並べて段落を組み、それを時計回り90度回転させて出力する。この場合、段落組の処理は普通の「左→右、上→下」の言語と同じように行える。また、縦書き中での「横転した欧文」を実現するには、ただ単に普通に欧文を出せばよい。landscape パッケージと同様の処理を併用するとページ全体を縦書きにすることも可能のはず。
なのですが、現状のXeTeXでは、次の理由のため、この方法は満足に使えません。
\tbaselineshift
に相当する機能がない。
いつか、TeX Q & A で「数式に baseline shift が効かない」という問題について議論した時に明らかになったように、baseline shift の機能を他の TeX の機能で補うことは困難です。縦書き和文のベースラインは中央の位置にあるのが普通なので、baseline shift なしで和欧文混植を行うと酷いことになります。
この点から、私は現時点で XeLaTeX での縦書きはあまり現実的でないと考えています。
こんな感じ になるのでしょうか(注:私は國吉さんではありません)。
> 縦書き和文のベースラインは中央の位置にあるのが普通なので、baseline shift なしで和欧文混植を行うと酷いことになります。それで コレ の 87--88 頁みたいになってしまう訳ですか。。。 確かに、
Moreover, often the baseline of vertical Chinese is not correct, so that mixing Chinese and English in vertical mode can generate ugly results, and thus should be avoided.
とも書いてありますね。。。
(編集 管理 ユーザ - 最初の投稿日時 2010年 08月 28日(土曜日) 16:03)