👏

InDesign markdownからicmlにpandocに変換した後テーブルがテキストフレームから飛び出すのを解決する

2022/09/04に公開

こうなるのを

こうしたい!

なぜこうなるかというと、pandoc側でハードコードされてるのが多分原因

https://github.com/jgm/pandoc/blob/master/src/Text/Pandoc/Writers/ICML.hs#L371

この行。

多分500だとA4だといい感じなのではと思料。しらんけど。

396はどうしてこの値かはよくわからないけど、XMLいじって調整して、ちょうどよかったからこの値にした。テキストフレームのサイズによって変わると思う。

いちおう下のコードでicmlを書き換えてあげればおk。

strawberry perl を powershell 上で実行した場合、リダイレクトでファイルに放り込むと謎の文字化けを起こすので、スクリプト内でファイルに保存。使う時は保存先はよし何なんとかしてください。

perl filename.pl 元の.icml で実行すればOK。

use utf8;
use strict;

my @out;
while(<>){
    if (/<Column Name="(\d+)" SingleColumnWidth="(.+)" \/>/) {
        my $new = $2 * (396/500);
        my $n = $1;
        my $line = "<Column Name=\"$n\" SingleColumnWidth=\"$new\" \/>\r\n";
        push @out, $line, 
    } else {
        #print $_;
        push @out, $_;
    }
}
open(FH, "> my.icml");
print FH @out;
close FH;

Discussion