Scrivenerで書いた原稿をCompileで「InDesignタグ付きテキスト」に変換する方法

手順の概要

以前、「Scrivenerで書いた原稿をInDesignで整形する方法」を投稿しましたが、ScrivenerのCompile一発で「InDesignタグ付きテキスト」を作る方法が分かりましたのでメモっておきます(厳密に言うと一発ではありませんが、ほぼ一発です)。手順は以下の通り。

  1. ScrivenerのCompileを設定する
  2. Compile後のテキストを修正する
  3. InDesignで読み込む

ScrivenerのCompileを設定する

ポイントは「Replacements」です。ScrivenerはCompile時に正規表現を使った置換に対応しています。以前の記事ではInDesign側でスクリプトを使ったり、外部エディタで置換したりしていましたが、「Replacements」を使ってScrivener側で置換してしまいます。

1行目の設定は「ルビ」対応です。青空文庫記法の「|○○《○○》」をInDesignタグの「<cr:1><crstr:$2><cmojir:0>$1<cr:><crstr:><cmojir:>」に変換しています。

2行目から21行目の設定は「傍点」対応です。以前の記事のステップ6をScrivenerでやっているだけです。

【2017年10月1日追記】

傍点については

(..)[#「(..)」に傍点]
(...)[#「(...)」に傍点]
(....)[#「(....)」に傍点]

と記述していましたが、向井領治さん(@mukairyoji)から次のようにした方が間違いがなく楽であるとのアドバイスをいただきました。実際にやってみたところ、うまくいきました。アドバイス通り、こちらでやるべきだと思います。

(.{2})[#「.{2}」に傍点]
(.{3})[#「.{3}」に傍点]
(.{4})[#「.{4}」に傍点]

22行目の設定は段落の頭に「<pstyle:>」というタグを挿入します。

23行目の設定は、なぜか22行目の設定を実行すると「<pstyle:>」が2つ挿入されてしまうので、それを1つにしています。

24行目の設定は、「章単位で改ページ」するための置換です。執筆時に章タイトルの頭に「<章>」と書いておくと、章タイトルの頭だけ「<pstyle:><pbb:Page>」になります。

Compile後のテキストを修正する

CompileしてできたファイルはUTF8なので、SJISに変換する必要があります。変換にあたってお薦めのエディタは「mi」です。機種依存文字やSJISに変換できない文字を一覧表示してくれる機能があるので便利です。SJISに変換できない文字がテキストに含まれていると、UTF8でしか保存されないため、InDesign側で読み込んだときにきちんとフォーマットしてくれません。

「InDesignタグ付きテキスト」はSJISである必要があり、下記の文字列を冒頭に記述しておく必要があるので、追記します。

<SJIS-MAC>
<vsn:12><fset:InDesign-Japanese><ctable:=<Black:COLOR:CMYK:Process:0,0,0,1>>

InDesignで読み込む

あとは出来上がったファイルを、InDesignで「配置」機能を使って読み込むだけです。前回の記事でやりたかった、「ルビ」、「傍点」、「章ごとの改ページ」が一度に自動的に実行されます。

参考:ScrivenerのCompileでの正規表現設定

1行目 |?([一-龠]+)《(.+?)》 <cr:1><crstr:$2><cmojir:0>$1<cr:><crstr:><cmojir:>
2行目 (.{20})[#「.{20}」に傍点]  <ckknd:1>$1<ckknd:>
3行目 (.{19})[#「.{19}」に傍点]  <ckknd:1>$1<ckknd:>
4行目 (.{18})[#「.{18}」に傍点]  <ckknd:1>$1<ckknd:>
5行目 (.{17})[#「.{17}」に傍点]  <ckknd:1>$1<ckknd:>
6行目 (.{16})[#「.{16}」に傍点]  <ckknd:1>$1<ckknd:>
7行目 (.{15})[#「.{15}」に傍点]  <ckknd:1>$1<ckknd:>
8行目 (.{14})[#「.{14}」に傍点]  <ckknd:1>$1<ckknd:>
9行目 (.{13})[#「.{13}」に傍点]  <ckknd:1>$1<ckknd:>
10行目 (.{12})[#「.{12}」に傍点]  <ckknd:1>$1<ckknd:>
11行目 (.{11})[#「.{11}」に傍点]  <ckknd:1>$1<ckknd:>
12行目 (.{10})[#「.{10}」に傍点]  <ckknd:1>$1<ckknd:>
13行目 (.{9})[#「.{9}」に傍点]  <ckknd:1>$1<ckknd:>
14行目 (.{8})[#「.{8}」に傍点]  <ckknd:1>$1<ckknd:>
15行目 (.{7})[#「.{7}」に傍点]  <ckknd:1>$1<ckknd:>
16行目 (.{6})[#「.{6}」に傍点]  <ckknd:1>$1<ckknd:>
17行目 (.{5})[#「.{5}」に傍点]  <ckknd:1>$1<ckknd:>
18行目 (.{4})[#「.{4}」に傍点]  <ckknd:1>$1<ckknd:>
19行目 (.{3})[#「.{3}」に傍点]  <ckknd:1>$1<ckknd:>
20行目 (.{2})[#「.{2}」に傍点]  <ckknd:1>$1<ckknd:>
21行目 (.)[#「(.)」に傍点]  <ckknd:1>$1<ckknd:>
22行目 ^ <pstyle:>
23行目 <pstyle:><pstyle:> <pstyle:>
24行目 <pstyle:><章> <pbb:Page>