-
Notifications
You must be signed in to change notification settings - Fork 215
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
複数のテンプレートをRe:VIEW本体で抱える検討 #812
Comments
どちらかというと、将来的にはlayout.tex.erbは最小限のもので固定にして、*.styに全て追いやる方がいいのかなという気もしております。 |
styファイルはreview-init時に作業フォルダにコピーする? それともreview-pdfmaker実行時にRe:VIEWのlib/templatesからコピーする? 前者だと既存環境では動かなくなるのとバグ修正を伝播できないですが。後者だとカスタマイズしたいときにどうしようかという問題があります。 |
前者でしょうねえ。 |
うむむ。自分の制作範囲だとlayouts/、sty/はもともとごっそり入れ替えているので影響は少ないですが。 layouts/, sty/が存在しない/空の場合はpdfmaker側でコピーかなぁ。 |
jlreq版スタイルを作ってみていますが、今後どのくらいの単位でsty分割したらよいか悩み中。いまのところ、
|
https://github.com/kmuto/exp-review-cls で実験していますが、
|
「Re:VIEWシステム側はこういうフォルダ構成になっていて」→「review-initではこういうオプションで選択できて(?)」→「プロジェクトフォルダはこうなる」というおおまかなイメージはないでしょうか。 クラスファイルはまにあわないにしても、現状のjsbook系データをこの形にする準備はしたいのですが。 |
将来的には、
みたいな感じでしょうか…。 Sphinxのテーマ http://www.writethedocs.org/guide/tools/sphinx-themes/ やgitbookのテーマ https://github.com/GitbookIO/theme-api (例: https://github.com/nijikokun/clarity ) をみた感じでは、わりとベタな感じなので厳しい気分になりました。 |
|
#938 はそんな感じになるかと思います。実装はFile.joinを使った方が良さそう |
#950 はあんまり良く分かってないんですが(すみません)、erbは1個だけ+素のstyじゃ難しいんでしようか…? |
pdfmakerのこの辺でやりたいことは、詰まるところRubyの世界とLaTeXの世界とでの(主にconfig.ymlの)情報の受け渡しと、その情報を元にしたLaTeXの処理で、前者についてはlayout.tex.erbで実現して、後者についてはLaTeX(*.sty)のみでできるといいんですが、実際LaTeXだけでできるかどうかがちょっと自信ないです |
むーん、そうなんですね。失礼しました。 |
#864 みたいに汎用的な形でもいいですし、最悪、 \newcommand{\reviewbooktitle}{<%= escape_latex(@config.name_of("booktitle"))} みたいなのを大量に並べるでもいいかと思うのですが、問題は、
みたいなのを <% if @config["creditfile"] %>
\newcommand{\revewcreditfile}{<%= @custom_creditpage %>}
<% end %> としておいて、*.styの中で
みたいに書くのは現実的でしょうか。 |
layout.tex.erb 全体は https://gist.github.com/takahashim/30e3148ff306f0ec2019932e6738d9ec こんな感じとかにすると、 |
なるほど… ちょっとその方向で書いてみましょうか。 |
少し考えてみたのですが、もしかしたら |
作ってるときでも困ったことなんだけど、配列とかハッシュみたいなものはどう表現しよう問題があるんだよねぇ。 |
プリアンプル内で生なerbで条件式分岐している箇所は以下のところですが、どう代替しましょうかね…
|
LaTeX側で扱えるのは文字列が基本になるかと思うので、LaTeX側で使うための文字列を一通り用意しておくのがいいのかなと。ループとかがなければ。 |
ifx,ifdefinedでもいいんだけど、特にifxは読みにくいなぁと思っていて、制御構文の可読性+baseのTeX環境で使えるの点でifthenパッケージはわりと使いやすいのでは、と思いました。 |
あとは
あたりでしょうかね。 |
yamlからの変換・command定義まわりはpdfmaker.rb側でやってあげて、layout.tex.erbでは ifdefinedを有効活用しようとすると、「最初から定義しない」の挙動が必要になって、それをlayout.tex.erbで書くのは冗長すぎるかんじがしています。 |
みたいな管理方法がいいんですかね…。
はい、このタイミングで入れた方がよさそうです。
https://gist.github.com/takahashim/30e3148ff306f0ec2019932e6738d9ec |
うーん、「いじらない」ものならユーザ環境に提供するよりはRe:VIEW template directoryからビルド時にコピーすればいいということになるような。 pdfmakerで上書きは気持ちが悪いので、やるならinit、あるいはRakefileですかねぇ。間違えるとプロジェクトのファイルを壊しそうなのが不安か。 |
バージョンアップしても既存プロジェクトが壊れにくい方法にしたいところです、はい。 |
defineの構文は「とりあえず現状のをなんとかすべく」入れたものなので、今後のバージョンアップでまたごそっと変わるかもしれません。そうすると、それに基づいていたstyをプロジェクトに配備してしまうと厄介なことになるのを懸念します。 あと、1つのstyにするのか、カスタマイズ用に複数置くのか、TeXエンジンごとの違いはどうするのか、といったあたりも問題でしょうか。 |
cf #808
複数のlayout.tex.erbをRe:VIEW本体で提供しようとする場合、ReVIEW::Template::TEMPLATE_DIRから選ぶための設定方法が必要になる。
今はlatex/layout.tex.erbきめうち。
The text was updated successfully, but these errors were encountered: