自己顕示欲の開放治療所

erg, programming and something.

別名:Laughing and Grief 雑記

Latin and Greekは習ったこともない

真面目な記事の他、特定の方には不快と思われる事柄に関して言及を行うことがあります。ちょっと頑張りますが、Blog内で解決できなかった場合要望があれば別ページに技術記事は書き直します

テーブルと図表挿入

この記事はEWBアドベントカレンダー2019 9日目の記事です。

adventar.org

テーブルの記法

軽量マークアップ最大の課題*1であるテーブルマークアップ。

EWBハンドブックには

表の項目が単純に並んでいるような体裁の表を作成することができます( 各項目が連結しているような表は対象外)。表組の種類は必要に応じて増やすことができます。

とあり、アスキーにも複雑な図表のマークアップ決定版は出せなかったんだと思うと 勇気づけられますね。そもそも複雑な表組を求める人間が悪いのはそれはそう。

//table1[<トップ寄せ>(<トップ幅>)][<寄せ>(<幅>)]{
//g{項目トップ  項目トップ//g}
項目    項目
...
//table1}

//table1{...//table1}で囲みます。項目はタブ区切り。ハードタブです。 幅指定オプションをしない場合、表組の字送りの値が使われます。 table「1」。表組の体裁種類が増やせるために数字なんですね。 //g{ ... //g}を項目トップに書いているのはゴシック体にするためで、必須ではないですね。 項目が長くなる場合は自動で行送りが入ります。\LaTeX{}の素の表を考えるとちょっと嬉しい。

体裁で決めるのは各種書体の他、字下げと字上げ(表のインデントとデデント)、タブをスペース幾つに展開するかなどになります。 囲み罫は体裁で指定とありますね。

図表の取り込み、処理

EWBは図表の取り扱いについてその他のマークアップとは異なる処理順を取ります。 ここで言う図表はテーブル、画像、ソースコードといったものです。変わったところでは数式を .texとしてここに分類します。

先ず、フロートするもの、しないものに分類されます。 しないものは原稿中の指定位置に必ず出力されます。複数ページに跨がる場合は 自動改ページされます。\LaTeX{}的な対応については余裕がないので割愛します。

「フロートするもの」はhere, top, bottom, pageといった位置指定ができます。

これによる結果が気に入らない場合は組版トリガで調整することになります。

この辺りまでだと特殊性が分かりませんね。数日前に登場した物理属性さんの出番です。

先に挙げたようにテーブルはEWB形式のマークアップなので本文に挿入することが可能なはずですが、別ファイルに分けて//f<数字>//t<数字>といったキャプション定義をしている箇所が呼び出しを行います。

EWB-Shelfを起動し、コンテンツ登録を行う際にオプションとしてtex2usephy tex2に……tex2ってなんだ……? EWBなんもわからん……。多分出力の\TeX{}がバージョン2系ってことなんかな……。 いや\LaTeX{}2系か? とりあえず書き換えます。次に物理属性エディタpast君を起動します。 本体名に.phyをつけた名前をコマンドライン引数にするそうです。

キャプション定義した番号がリスト表示され、選択してリターンを押すと 図表の「メニュー画面」、体裁調整ができるようになります。ここで「ファイル」「EPS」「アタリ罫」から選択します。アタリ罫は所謂draftモードのように、矩形を図表位置に置きます。 ここでの体裁調整はどちらかというとフォーム入力のソレなので、WYSIWYGというワケではないようです。こうしてできた.phyファイルに何が書かれているかというと、入力したパラメータをタブ区切りで \LaTeX{}にこの値で突っこむんだろうなという形に変換されて載っています。 here top bottomhtbとなっていたりという感じですね。組版トリガでの調整はこの後なので、 \includegraphic相当の命令のオプション値とfigure環境のオプション値でどうにもならなかった箇所の修正を入力といった感じのようです。

NEXT

EWB文書ライクなものを書いてみる予定。パース擬きまでは間に合わないんじゃないかなあ。 もしくは索引。

*1:要出典