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

表のカラム区切りでTAB文字ではなく他の文字を使いたい #195

Closed
ynakanishi opened this issue Sep 3, 2013 · 11 comments
Closed

Comments

@ynakanishi
Copy link

カラム間の区切りを、任意個数のタブ文字だけではなく、2文字以上のスペース文字や|(パイプ)なども使用可能としてほしい。

引用するソースコードを書くことを考えると、タブ文字ではなくスペース文字を使う(タブを自動的にスペース文字に変換する)というエディタ設定にすることが多いのではないかと思います。

そうすると、純粋なタブ文字(0x08)を入力することが難しいエディタもあります(例:Sublime Text 2)

@kmuto
Copy link
Owner

kmuto commented Sep 3, 2013

経験的にはスペースやパイプをリテラルに使いたいことも多い(というかそのほうが多い)ので、何か解析時オプションかtableに補助情報を付ける形でそのときだけ挙動を変えるというようにしないとまずそうです。

@kmuto
Copy link
Owner

kmuto commented Sep 3, 2013

(ちなみにInDesign組版の場合は列数が一致しないといけないので、任意タブ数で揃えるのは御法度だったりする)

@kdmsnr
Copy link
Collaborator

kdmsnr commented Sep 3, 2013

スペースを複数個でもマズいのですか?

@kmuto
Copy link
Owner

kmuto commented Sep 3, 2013

表中にインデント付きコード (brで改行してリテラルスペースでなんとかする)、というのはザラなのです…

@kdmsnr
Copy link
Collaborator

kdmsnr commented Sep 3, 2013

そしたらタブが無難ですねえ。

Sublime Text は "translate_tabs_to_spaces": false で設定できるみたいです。

@kmuto
Copy link
Owner

kmuto commented Sep 3, 2013

パーサまでイメージ可能ならぜひ書きやすい書式を取り込みたいんですけどね…。HTML/TeX/InDesignXMLの3つにきちんと変換できるパーサが必要です。InDesignXMLだと列数固定でセル連結は後からJavaScriptで必死にやるというモデルなのでそれも踏まえて設計しないといけません。

@ynakanishi
Copy link
Author

表中にインデント付きコードを入れるというのを想定していなかったので、あきらめるしかなさそうですね。
ご回答いただきありがとうございます。

Sublime Text でのタブスペース変換無効化は存じていますが、表を作る時にそれをやらないといけないのが大変だったのです。Emacsならタブスペース変換設定でもタブ文字を強制的に入れる方法はあるんですが。

@kmuto
Copy link
Owner

kmuto commented Sep 3, 2013

Sphinxなどではうまく動くパーサがあって悔しいので、長期的TODOにはしたいですね

@mhidaka
Copy link
Contributor

mhidaka commented Sep 3, 2013

indesignの手作業感やばい…!
いまの表組みは改行とか辛いのでパーサーについては今後議論の余地がありそう。

@takahashim
Copy link
Collaborator

とりあえずパーサの一般論としては、各ビルダでtableメソッドを独自実装するのではなく、tableはCompilerのメソッドにしておいて、table_headertable_begintrthtdtable_end等を適宜呼び出しつつ、それらのメソッドの実体は各ビルダで実装する形にしたいなあというところです。

が、IDGXMLBuilderでのtableの実装がだいぶ複雑な形なので、頑張らないと難しそうではあります。むしろTableクラス作った方がいいくらいかもしれません。

@mhidaka
Copy link
Contributor

mhidaka commented Sep 3, 2013

全ての問題を一気に解決するのは難しいそうな話題なので実装の順序としては妥当そうな設計を見つけた後、HTML, TeX, Indesignxmlのビルダーごとやりやすいモノから対応していく、みたいな感じでしょうか(メモ)。

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

5 participants