Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

セル結合を可能にする表記法のプロポーザル #341

Open
mhidaka opened this issue Sep 19, 2014 · 8 comments
Open

セル結合を可能にする表記法のプロポーザル #341

mhidaka opened this issue Sep 19, 2014 · 8 comments

Comments

@mhidaka
Copy link
Contributor

mhidaka commented Sep 19, 2014

表の書き方について新しい書き方を導入したいです。

以前から何度か話題に上がるたびにReVIEW以外の記法を参考に
調べてきたのですが、なかなか決定打にかける状況だと思います。

(冬コミ前に)すこし良い感じにセル結合を導入できるよう、
実装をPRするまえに書き方を提案したいのですが、どうでしょうか。

提案内容:

●一部の文法の変更と追加
|| によるスプリットと@<colspan>{cellnum}, @<rowspan>{cellnum}の導入

●通常
//table[識別子][キャプション]{
|| NAME     || 意味                        || 
----------------------------------------------
|| PATH      || コマンドの存在するディレクトリ  || 
|| TERM      || 使っている端末の種類          || 
|| LANG      || ユーザのデフォルトロケール     || 
|| LOGNAME   || ユーザのログイン名            || 
//}

●セル結合その1
|| NAME       || 説明                       || 
----------------------------------------------
||@<colspan>{2} PATH ||                      ||
|| TERM        || 使っている端末の種類         || 
|| LANG        || ユーザのデフォルトロケール    || 
|| LOGNAME     || ユーザのログイン名           || 
//}

●セル結合その2
|| NAME       || 説明                       || 
----------------------------------------------
||@<rowspan>{4} PATH ||                      ||
||             || 使っている端末の種類         || 
||             || ユーザのデフォルトロケール    || 
||             || ユーザのログイン名           || 
//}

@kmuto
Copy link
Owner

kmuto commented Sep 19, 2014

ちょっとpandocっぽい? この場合は簡易記法として、||とかスペースをリテラルに使う(エスケープ)は考えないということになるんでしょうか。
セル属性という点では、縦にも横にもspan、horizontal/verticalのalign、薄網掛け等のスタイル付け、等々のパターンも出てくるので、あまり@<>タグを増やすよりは、@<tableopt>{rowspan=2,colspan=3}みたいな感じで指定したほうがいいのかなと思っています。ちなみに現在の現場では、@<dtp>{table 上記に似たオプション指定}でセル属性やspanを定義するようにしています。

@mhidaka
Copy link
Contributor Author

mhidaka commented Sep 19, 2014

たしかに。@<tableopt>{}タグで統一が良さそうですね。
||、スペースはソースコード中に出てくる可能性が高いので何らかのエスケープ対策が要る気がしてます。たとえば@{body="ここではスペースも||も大丈夫 "}とかがあればそちらを優先、とかよさそうです。

表中のインラインコマンドの挙動については確認しきっていませんが現行相当にはしておきたいですね…。提案記法でも出力先に応じて色々制約があるだろうな、、、と思ってます。

@takahashim
Copy link
Collaborator

これですが、そもそもLaTeXで縦横に自由にコラム連結させるには、どういうLaTeXのコードを生成するのがいいんでしょうか…?

@kmuto
Copy link
Owner

kmuto commented Oct 5, 2014

横方向はmulticolumn、縦方向はclineを使う、のだろうけど、multicolumn側はともかく、clineはけっこう面倒かも。Sphinxあたりに参考になるコードないかな……。

@takahashim
Copy link
Collaborator

縦方向のclineを使う、というやつは、結局罫線がなくなるだけで、HTMLのrowspanとは違って縦のセルにまたがった記述ができないと思うのですが、違いましたっけ。

  • clineを使った出力
----------------------------------------
aaa  | aaaとbbbの長い説明aaaと
     | bbbの長い説明aaaとbbbの 
     | の長い説明
-----+ 
bbb  |
----------------------------------------
  • 期待される出力
----------------------------------------
aaa  | aaaとbbbの長い説明aaaと
-----+ bbbの長い説明aaaとbbbの 
bbb  | の長い説明
----------------------------------------

@kmuto
Copy link
Owner

kmuto commented Oct 5, 2014

あぁ、見栄えだけで3行分結合で、といったものは無理か。
multirowというパッケージはあるらしいです…闇だ…

@mhidaka
Copy link
Contributor Author

mhidaka commented Oct 5, 2014

すごい。もともとTeXが備えるTableの表現力がそんなに高くないのですね…

@kmuto
Copy link
Owner

kmuto commented Oct 5, 2014

横書き向けの表のパーサとかレンダラとか実際に書いてみると、横方向はそんなに難しくないんだけど、縦方向の処理はかなり面倒くさいんですよね。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants