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

[latex] ユーザカスタマイズ用のスタイルファイルを追加 #917

Closed
kauplan opened this issue Jan 10, 2018 · 8 comments
Closed

Comments

@kauplan
Copy link

kauplan commented Jan 10, 2018

複数のTeXスタイルファイルをサポートするpull request #908 がマージされました。
これを機に、ユーザカスタマイズ用の空スタイルファイル「sty/mystyle.sty」を追加することを提案します。

【変更点】

  • config.ymlでのtexstyle:のデフォルト値を[reviewmacro, mystyle]に変更
  • スタイルファイル「sty/mystyle.sty」を追加。中身は空、または説明用のコメントのみ

【理由】

現状では、LaTeXマクロを修正しようとすると「sty/reviewmacro.sty」に追加する必要があります。
しかしこれだと、Re:VIEWが提供するマクロと、自分で追加したマクロが1つのファイルに混ざってしまいます。
そのため、Re:VIEWをバージョンアップするのが面倒になります。

もし自分が追加するマクロを、Re:VIEWが提供するマクロとは別のファイルで管理できれば、Re:VIEWのバージョンアップが気軽にできるようになります。

ご検討をお願いします。

@kmuto
Copy link
Owner

kmuto commented Jan 11, 2018

新たな固定のファイルを用意するよりは、texstyleが配列指定できてカスタムのstyファイルを追加できることをドキュメントに書く程度でよいのではと考えます。

@kauplan
Copy link
Author

kauplan commented Jan 11, 2018

ドキュメントに書く程度でよいのでは

ユーザがきちんとマニュアルを読んでくれることは、期待すべきではありません。
マニュアルを熟読しなくても、望ましい使い方に自然と誘導できるほうがいいでしょう。

もし「sty/mystyle.sty」がデフォルトで用意されていたら:

【利点】

  • マニュアルを熟読しないユーザを、望ましい使い方へと誘導できる。
  • config.ymlを編集して「texstyle:」に追加する手間と、スタイルファイルを作成する手間が省ける。
  • みんなが同じファイル名を使うので、「以下のマクロをsty/mystyle.styに追加してください」という説明がしやすい(教えやすい)
  • よく質問されるようなマクロを、コメントアウトした形であらかじめ用意しておける。たとえば、「sty/mystyle.sty」が以下のようだと、つまづくユーザが少なくなるでしょう。
%% -*- coding: utf-8 -*-

%%
%% 自作のマクロを追加したり、既存のマクロを上書きするためのファイル。
%%
%% Re:VIEWがバージョンアップすると「sty/reviewmacro.sty」も変更されるため、
%% 「sty/reviewmacro.sty」は変更しないほうが、Re:VIEWのバージョンアップが
%% しやすくなる。かわりにこのファイルを変更すること。
%%
%% なおTeXでは「%」は行コメントなので、マクロの行頭の「%」を外すと有効になる。
%%

%% 例: 目次を赤色ではなく黒色に戻す
%\hypersetup{colorlinks=false}

%% 例: @<strong>{ ... } を明朝体ではなくゴシック体にする
%\renewcommand{\reviewstrong}[1]{\textbf{\textgt{#1}}}

%% 例: //list{ ... //} の中で @<b>{ ... } が使えるようにする
%\renewcommand{\ttdefault}{txtt}

%% 例: //list{ ... //} の中で @<del>{ ... } が使えるようにする
%\usepackage{ulem}
%\renewcommand{\reviewstrike}[1]{\sout{#1}}

【欠点】

  • 欠点は特にはないはずです。あるとしたら心理的なもの?

【備考】

デフォルトで生成されるstyleいじるの抵抗があるからなにかしらの方法で別ファイルでスタイル定義を追加できたら良いなぁと感じた

  • ファイル名は「mystyle.sty」でなくても、他の名前でもいいです。「reviewmacro.sty」と対比させるなら「mymacro.sty」がいいかもしれません。

@yuw
Copy link

yuw commented Jan 11, 2018

私は固定の名前にするのは反対です.
本/プロジェクトごとに別の名前でのファイル管理を行いたいです.
いつも同じマクロを使うとは限らないため,同じファイル名では混乱してしまいそうです.

@kauplan
Copy link
Author

kauplan commented Jan 11, 2018

私は固定の名前にするのは反対です.

ファイル名は固定ではありません。config.ymlの「texstyle:」で変更できます(#908 参照)。
ここでの提案内容は、デフォルトのファイル(とファイル名)を用意することであり、高度な使い分けを制限するものではないです。

本/プロジェクトごとに別の名前でのファイル管理を行いたいです.

そうしたい人は「texstyle:」で好きなファイル名が設定できます。
多くのユーザは初心者であり、そういった高度な使い方はしません。デフォルトのファイル名で十分です。

@kauplan
Copy link
Author

kauplan commented Jan 11, 2018

大事なことなので繰り返し訴えます。

ユーザがきちんとマニュアルを読んでくれることは、期待すべきではありません。
マニュアルを熟読しなくても、望ましい使い方に自然と誘導できるほうがいいでしょう。

@kmuto
Copy link
Owner

kmuto commented Jan 12, 2018

ご意見はわかりましたが、
ユーザーのことを考えると、提案のような形は後々の負債になりそうなので避けたいです。

  • sty/内はreviewmacro.sty含めて自由に加工できるにもかかわらず、ローカル設定がそこにしかない印象を与える。
  • 「日本語の」「uplatex固有かもしれない」「判断の分かれる設定」を提供することになる。
  • 妥当なパッケージであればRe:VIEW標準のスタイルファイルで取り込んだほうがよい。

直近のイベントで使うというユーザーには確かに当座の簡便な道筋になるのでしょうが、Re:VIEW会議やその後のやりとりで

  • クラスファイルをjsbookからjlreqに移行していく
  • uplatex以外にlualatexも考える
  • 今layoutにあるスタイル設定群は分割してsty内に置き、ユーザーが必要とするカスタマイズはそちらで行ってもらう

ということを決めており、特に3つ目の観点からすると、あえて別個に「設定用」のファイルを標準で提供する意味は薄いです。

@takahashim
Copy link
Collaborator

これですが、Re:VIEW 3.0では以下のようにするのはどうでしょうか。

  • sty/reviewmacro.sty: 基本のエントリポイントで、以下の3ファイルを読み込むだけ。
  • sty/review-base.sty: Re:VIEWのマークアップでLaTeXに変換したときに使われている独自マクロ( reviewemlist とか)の定義
  • sty/review-style.sty: Re:VIEW独自ではないけど一般的なスタイルとして定義されているマクロの定義。\renewcommand{\headrulewidth} とか \fancyhead{} とか。
  • sty/review-custom.sty: このissue冒頭の「sty/mystyle.sty」とほぼ同様、な気がするユーザ指定用マクロ。デフォルトは空。ユーザが好きに指定する。

review-style.sty は review-base.sty とまとめて1ファイルにしてしまってもいいかもしれませんが、分けた方がわかりやすいかな、という気がします。
また、review-base.styは3.xで更新される可能性があって、その場合にはreview-initかreview-update(仮)みたいなコマンドで上書きできるようにしたいです。

config.ymlで指定するのはreviewmacro.styで、これを変えると review-base.sty すらも読み込まないようなスタイルも指定できますが、それは例外的なことになりそう。

@kmuto
Copy link
Owner

kmuto commented Sep 21, 2018

3previewから、takahashimさん方針ので分割済み。
review-updateは未実装なので3.1で考える?

@kmuto kmuto closed this as completed Sep 21, 2018
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

4 participants