1

asciidoc でテーブルを動的に生成したいと思います。これは次のようになります。

--------------------------------------
|Text  | Parameter | Value1 | Value2 |
--------------------------------------
|foo   | param1    | val1   | val2   |
--------------------------------------
|bar   | param2    | val3   | val4   |
|      | param3    | value_ | val6   |
|      |           | multi_ |        |
|      |           | 5      |        |
|      | param4    | val7   | val8   |
--------------------------------------
| baz  | param5    | val9   | val10  |
--------------------------------------

つまり、1 つのテキストに複数のパラメーターがあり、それらの値が複数の行にまたがる場合があります。これらを自動的に整列させる方法を探しています。変更されるデータを収集するプログラムがあるため、手動で修正することはできません。

私が現在行っていること: Parameter、Value1、および Value2 列にフレームとグリッドのないネストされたテーブルがあります。これに関する問題は、各値が複数の行にまたがらない場合にのみ整列することです。

また、Parameter、Value1、および Value2 を、グリッドはあるがフレームがない入れ子になったテーブルにしてみました。

配置に関しては機能しますが、グリッド線が外側のテーブルのグリッド線に触れていないため、見栄えがよくありません。マルチパラメータ エントリが強調されるため、フレームを追加することも退屈に見えます。

私が本当にやりたいことは、余分なパラメーターがある場合、間に水平線を入れずに外側のテーブル (テーブルのネストなし) に余分な行を追加することです。

AsciiDoc でこれを行う方法がわかりません。それはまったく可能ですか?これを解決する方法に関する他の提案はありますか?

4

2 に答える 2

1

これは、スパンを使用するとかなり簡単であることがわかります(23.5章を参照)

.Multiline values alined with spans
[cols=",,,",width="60%", options="header"]
|================
|Text  | Parameter | Value1 | Value2
|foo   | param1    | val1   | val2
.3+<.<|foo .3+<.<|bar | val3 | val4
| razzle bla fasel foo bar | dazzle
|bli | bla
|foo2   | param3    | val5   | val6
|================

あとは、テンプレート システム (jinja2) に必要な行数を指定するだけですが、これは地道ではありますが日常的な作業です。

于 2014-11-19T07:40:01.893 に答える
0

asciidoctorを使用している場合、新しい行に列を配置したり、テーブルのメタデータを使用してテーブルに含まれる列の数を指定したりするなど、テーブルには他にも多くのオプションがあります。これは、Asciidoctor でテーブルを作成するための推奨される方法です。この例と他の多くの例は、ユーザー ガイドで確認できます。ここで SO の例を挙げます。

[cols="2*"]
|===

|Cell in column 1, row 1
|Cell in column 2, row 1

|Cell in column 1, row 2
|Cell in column 2, row 2

|===

Asciidoctor は、asciidoc コマンドの代わりに使用できますが、2 つの違いを確認する必要があります。

于 2014-11-18T17:57:57.487 に答える