Re:VIEW で一章のテキスト量が多く書きづらかったので、項単位で複数のファイルに分割して #@mapfile(sub.re) で結合してたのですが、この分割した .re ファイルに table を書いていたのが意図通りの表示になりませんでした。
(※素の Re:VIEW ではなく Re:VIEW Starter を使っています)
こんな感じ。
本来なら FREE/BASIC/STANDARD が列になるはず・・
mapfile の外に出せば問題なく表示されるのですが、table 挿入するところでサブの .re ファイルを分けないといけない(もしくは maprange?)のは面倒なので、調べました。
何が起きていたか?
preproc 後のファイルを見れば、何が起きていたのかは一目瞭然です。
table の列区切り文字であるタブがスペースになっていました。
つまり、行が全部結合されて1列になっていた。
どうしてこうなった?
preproc のソースでこの辺です。
mapfile で開いたファイルを処理している中で呼ばれるメソッドですが、タブをスペースに変換しています。tabwidth の config がなければ 8 space になっています。
そして、tabwidth が 0 なら変換なしであることがわかります。
これで対応ができそうです!
対応する
@config[tabwidth] は review-preproc の --tabwidth オプションで指定可能なので --tabwidth=0 つければ OK です。
Rake でビルドしてる場合は .rake ファイルも修正してください。
review-preproc --tabwidth=0 file.re
これでちゃんと意図したとおりに出力できました。
(用紙からはみ出ちゃってるのは行が長すぎたから・・リリース版では修正済み)
0 件のコメント:
コメントを投稿