縦中横

 ここからしばらくめんどくさい記号の制御が続きます。ちまちましてる上変化が分かりにくくてアレなんですが、今後も使う主要な概念がけっこう出てきます。
 ここを乗り越えたら大幅な組版作業に行けますので、明るい未来のために頑張りましょう。

 十蘭の小説にはフランス語が山ほど出てきます。青空文庫ではデフォルトで、横倒しにして欧文として表示したい箇所は半角、横倒しにせずカナと同じように縦向きで表示したいアルファベットは全角で書かれています。
 TeXでもこれは全く同じです。なので縦向きで組みたい英数字は全角にしておきます。

全角で縦向き

 ただ、39度の一夜をのようなところはどうすればいいでしょう?向きは縦にしておきたいけど、できれば3と9を縦にじゃなく横にくっつけて並べたいですよね。青空文庫なら39[#「39」は縦中横]となっている部分です。
 そんな時はrensujiコマンドを使います。半角文字を半角のまま、いわば「全角一文字分の高さのスペースにおける横書き」にしてくれます。
 実際に見た方が早いです。一様に\rensuji{39}度の一夜をのように書いてやるとこうなります。1

連数字

 面倒なのが !! や !? の扱いです。全角で書くと縦に二つ、半角で書くと横倒しで二つ表示されてしまうので、二重の感嘆符も\rensuji{}に入れておきます。
 ごちゃごちゃするのが嫌なら、コマンドを使わずに“二重感嘆符記号そのもの”を原稿に直書きしちゃう手もあります。‼・⁉・⁈・⁇←これをコピペしてもいいし、iPhone(androidも?)からなら普通に予測変換で入力できます。のちのちの処理が煩雑になるのであまり推奨はできないのと、あとさすがに三重以上だとコマンドを使わざるを得ないですが。

 いずれにしても大事なのは、原稿中でのルールを揃えることです。あるところでは連数字、あるところでは直書きのようにすると、表示が微妙に違ってバラバラな印象になります。1文字の英数字を全角で入れるか半角でrensujiにするか、2文字の場合は全角か半角か、!!をどうするか、暫定的でもいいので自分の文体に合ったルールを決めてみてください。
 Meryの「全角/半角変換プラグイン」を入れると、文字種ごとに一括揃えすることができます。

大量にある時

 コマンドへの検索・置換は以下です。本文の部分だけを範囲選択後に、「選択範囲のみ」と「正規表現」にチェックを入れるのを忘れないでください。

  検索する文字列:([!?!?]{2,3}) → 置換後の文字列:\\rensuji{\1}

 記号でない英数字の置換はちょっと難しいです。横倒しにしたい長い欧文の部分を 除いて 範囲選択→置換を、本文の終わりまで繰り返します。

  検索する文字列:([0-9a-zA-Z0-9a-zA-Z]{2,3}) → 置換後の文字列:\\rensuji{\1}

 {2,3}のところが文字数を表していて、この場合は2文字以上3文字以下(つまり2文字か3文字)の英数字がヒットします。4文字でも連数字にしたい時は{2,4}、一文字の英数も半角で入れて縦向きにしたいときは{1,3}というように、状況に合わせて文字数の部分を変えてください。
 それでもなおかなり文脈によるところが大きいので、「すべて置換」はせずに一回ずつ「次を検索」&「置換」を押すか、置換はせずに検索だけを使って手で書き換えるのが安全です。

 そしてこの方法だと、英数字以外と記号が混在したケースなどは検索できません。そのあたりに関して、次はちょっと寄り道して、ちょいちょい出てきた謎の呪文「正規表現」について補足したいと思います。


  1. よく見ると分かりますが、実は連数字にすると上下にわずかな空きが入って隣の行と文字の位置がズレます。このことは約物のセクションで改めて取り上げますので、今は気持ち悪くてもとりあえずそのままにしておいてください。 [return]
comments powered by Disqus