comparison s4-funcs.sh @ 941:79c7e64884c4 draft

Now miniol can handle continuing line at the first LI.
author HIROSE Yuuji <yuuji@gentei.org>
date Wed, 22 Sep 2021 08:39:36 +0900
parents 7b3786b1eb4b
children 5d70fa029f8d
comparison
equal deleted inserted replaced
940:102c2b14c5d8 941:79c7e64884c4
681 p; # Print rest' | miniul 681 p; # Print rest' | miniul
682 } 682 }
683 miniul() { 683 miniul() {
684 sed -e ' 684 sed -e '
685 /^\* / {; # 行頭 "* " 685 /^\* / {; # 行頭 "* "
686 x; s,^,<ul>,; x; # 1週目: ホールドスペース先頭に <ul> を 686 x; s,^,<ul>,; x; # 1周目: ホールドスペース先頭に <ul> を
687 :top 687 :top
688 s/\n//; 688 s/\n//;
689 s/^ *//; # 2周目以降: 行頭空白削除 689 s/^ *//; # 2周目以降: 行頭空白削除
690 s,\* ,,; # まず行頭の "* " を消しておく 690 s,\* ,,; # まず行頭の "* " を消しておく
691 H; # 置き換え結果をホールドスペースに追加 691 H; # 置き換え結果をホールドスペースに追加
711 x' | miniol 711 x' | miniol
712 } 712 }
713 miniol() { 713 miniol() {
714 sed -e ' 714 sed -e '
715 /^[1-9]\. / {; # 行頭 "N. " 715 /^[1-9]\. / {; # 行頭 "N. "
716 x; s,^,<ol>,; x; # 1週目: ホールドスペース先頭に <ol> を 716 h;x; # 1周目: ホールドスペース先頭に <ol> を
717 s,^\([1-9][0-9]*\)\. .*,<ol start="\1">,; # 初期番号付きで追加
718 x;
717 :top 719 :top
718 s/\n//; 720 s/\n//;
719 s/^ *//; # 2周目以降: 行頭空白削除 721 s/^ *//; # 2周目以降: 行頭空白削除
720 H; # 置き換え結果をホールドスペースに追加 722 H; # 置き換え結果をホールドスペースに追加
721 x; 723 x;
722 s,^<ol>\n\([1-9][0-9]*\)\. ,<ol start="\1"><li>,; # 1行目のみ 724 s,[1-9][0-9]*\. ,,; # まず行頭の "N. " を消しておく
723 s,[1-9][0-9]*\. ,,; # まず行頭の "N. " を消しておく
724 x; 725 x;
725 s/.*//; # パターンスペースは消しておく 726 s/.*//; # パターンスペースは消しておく
726 # ↓最終行なら残ったホールドスペース処理のため :cont へ 727 # ↓最終行なら残ったホールドスペース処理のため :cont へ
727 $ b cont 728 $ b cont
728 N; # 次の行を読む 729 N; # 次の行を読む

yatex.org