見出し画像

【Asciidoc】インクルードの応用ー部分を組み込むー

先月、「VZ Editor」が「GitHub」でオープンソースとして公開されました。(リンクは記事末に)
DOS時代は大変お世話になりました。必需品でした。
日立の2020でも動いた・・・
さて、この話題を持ち出したのは確か当時「VZ倶楽部」で「高千穂遙」さんが(正確な記述ではないですが)「キャラクター描写をする時等、Grepして挿入してますよ」みたいな事を答えていらっしゃったと思います。
この様な執筆スタイルではファイルの組み込みインクルードは楽しめる機能ではないかと思います。
勿論、他の記法やワープロ・エディターソフトでも同じようなことが出来るものはありますが・・・。

さてさて、一つ応用例を私の記事「メモをAsciidocで採ってみる」(https://note.com/apt_hebe4580/n/n826857471f4d)からファイルを流用して提示しましょう。
少し改造します(タグを追加)。

// tag::本文
.参考文献リストの記載方法
 すべての参考文献が正確かつ完全であることは、著者の責任である。著者は、引用している参考文献をすべて原書と照合して確認すべきである。参考文献に記載する情報は必要最小限とする。
// end::本文

// tag::文献リスト
M・コグヒルアン; 
R・ガーソンローリン; 
中山裕木子 訳. 
参考文献リストの記載方法. 
__ACSスタイルガイド アメリカ化学会 論文作成の手引き 【原書第3版】__, 
1st ed.; 
株式会社 講談社: 東京, 
2019, 
p 324.
// end::文献リスト

「文献メモ.adoc」の名前で保存します。
組み込み先は次のような感じです。

== 本文など

ここで引用

[quote,[[M・コグヒルアン;R・ガーソンローリン;]]]
____

include::文献メモ.adoc[tags=本文]
____

引用終わり

[bibliography]
== 参考文献

include::文献メモ.adoc[tags=文献リスト]

変換すると

タグを利用した組込例

「tag::(タグ名)」から「end::(タグ名)」で範囲を指示して「include」のオプションで指定して利用します。タグを上手く使えば・・・キャラクターテキストからこのキャラだけとか、場所テキストからこの風景等、色々できそうな感じがしませんか?
駄菓子菓子、その作業は「Manuskript(小説執筆エディタ)」等を利用したほうがずっと楽です(記事末にリンクを・・・)。マルチOS対応だし、日本語も使えるし・・・(サイトは英語ですけど)アプリケーションはマルチ言語化されています。
この型は例題のような文献リストのコントロールが一番無難なのではないでしょうか。勿論、「プログラムソース」でも利用できます。(タグはそのプログラムのコメントとして記述してください。)

さて、応用例をもう一つ
次のような「CSV」ファイルを用意します(「郵便番号データ」を郵便局からダウンロードしてきました)。ファイル名は「01HOKKAI.CSV

01101,"060  ","0600000","ホッカイドウ","サッポロシチュウオウク","イカニケイサイガナイバアイ","北海道","札幌市中央区","以下に掲載がない場合",0,0,0,0,0,0
01101,"064  ","0640941","ホッカイドウ","サッポロシチュウオウク","アサヒガオカ","北海道","札幌市中央区","旭ケ丘",0,0,1,0,0,0
01101,"060  ","0600041","ホッカイドウ","サッポロシチュウオウク","オオドオリヒガシ","北海道","札幌市中央区","大通東",0,0,1,0,0,0
01101,"060  ","0600042","ホッカイドウ","サッポロシチュウオウク","オオドオリニシ(1-19チョウメ)","北海道","札幌市中央区","大通西(1〜19丁目)",1,0,1,0,0,0
01101,"064  ","0640820","ホッカイドウ","サッポロシチュウオウク","オオドオリニシ(20-28チョウメ)","北海道","札幌市中央区","大通西(20〜28丁目)",1,0,1,0,0,0
01101,"060  ","0600031","ホッカイドウ","サッポロシチュウオウク","キタ1ジョウヒガシ","北海道","札幌市中央区","北一条東",0,0,1,0,0,0
01101,"060  ","0600001","ホッカイドウ","サッポロシチュウオウク","キタ1ジョウニシ(1-19チョウメ)","北海道","札幌市中央区","北一条西(1〜19丁目)",1,0,1,0,0,0
01101,"064  ","0640821","ホッカイドウ","サッポロシチュウオウク","キタ1ジョウニシ(20-28チョウメ)","北海道","札幌市中央区","北一条西(20〜28丁目)",1,0,1,0,0,0
01101,"060  ","0600032","ホッカイドウ","サッポロシチュウオウク","キタ2ジョウヒガシ","北海道","札幌市中央区","北二条東",0,0,1,0,0,0
01101,"060  ","0600002","ホッカイドウ","サッポロシチュウオウク","キタ2ジョウニシ(1-19チョウメ)","北海道","札幌市中央区","北二条西(1〜19丁目)",1,0,1,0,0,0
01101,"064  ","0640822","ホッカイドウ","サッポロシチュウオウク","キタ2ジョウニシ(20-28チョウメ)","北海道","札幌市中央区","北二条西(20〜28丁目)",1,0,1,0,0,0
01101,"060  ","0600033","ホッカイドウ","サッポロシチュウオウク","キタ3ジョウヒガシ","北海道","札幌市中央区","北三条東",0,0,1,0,0,0
01101,"060  ","0600003","ホッカイドウ","サッポロシチュウオウク","キタ3ジョウニシ(1-19チョウメ)","北海道","札幌市中央区","北三条西(1〜19丁目)",1,0,1,0,0,0
01101,"064  ","0640823","ホッカイドウ","サッポロシチュウオウク","キタ3ジョウニシ(20-30チョウメ)","北海道","札幌市中央区","北三条西(20〜30丁目)",1,0,1,0,0,0
01101,"060  ","0600034","ホッカイドウ","サッポロシチュウオウク","キタ4ジョウヒガシ(1-8チョウメ)","北海道","札幌市中央区","北四条東(1〜8丁目)",1,0,1,0,0,0

・・・続く

埋め込み側は

[width="100%"]
,===

include::01HOKKAI.CSV[lines=1..10,encoding=SJIS]

,===

変換すると

CSV組込例

「表ブロック」は「|===」や「,===」のブロック区切りの表記でデータの区切り文字を変更できます。
また、例題のように読み込むファイルの文字コードも指定できます。「UTF-8」なら指定なしで大丈夫です。往々にして「Excel」等で作成したCSVは文字コードが「S-JIS」の場合が多いですね。
この場合、セルに対するオプションが利用できないので注意してください。(基本、元データは出力後に変更したくないですしね・・・)

さて、今回はこのあたりまで・・・・・・
次回は、私のファイル組み込みの使い方を考えてみようと思います。
…ではまた。

当Noteは下記の「AsciiDoc Language Documentation」の文法に従っています。


いいなと思ったら応援しよう!