doraTeX / TeX2img

TeX2img for macOS
https://tex2img.tech
Other
26 stars 2 forks source link

\includegraphicsをGUI化 #92

Open yasunari opened 6 years ago

yasunari commented 6 years ago

TeXShopではWindowに画像をDrag & Dropすると\includegraphics[]{hope.pdf}のように補完されるようですが,同じ機能がTeX2imgにもあると良いかと思います。ただ「Sourceを復元」と同じUIになるため,実装して下さる場合には,何らかの処置が必要かと思われます。どう思われますでしょうか。

doraTeX commented 6 years ago

おっしゃるように「ソースを復元」との重複が防げないので、困難かと思います。

yasunari commented 6 years ago

「Sourceを復元」は「既存のFileを読み込む」と似ているため,Drag & Dropへの対応を

としてみたら解決するのではないでしょうか。

doraTeX commented 6 years ago

よくわからないのですが、毎回ダイアログを出して選択を促すということですか?

yasunari commented 6 years ago

screen shot 2018-07-20 at 14 25 41

doraTeX commented 6 years ago

それは直観的ではないですね。ソース復元する際は上のエリアに復元されるわけですから。

yasunari commented 6 years ago

では「Input TeX source or PDF/PS/EPS file」の上に画像をDragすると,薄めの文字で\includegraphicsが現れて,それを「Input TeX Code」にDropするというのは,どうでしょうか。強引すぎる気もしますが。

doraTeX commented 6 years ago

そんなUIはmacOSアプリで見たことがないですね…… ありうるとしたら、環境設定パネルに「ドラッグ&ドロップの効果」みたいな選択項目を設けるくらいでしょうか……

yasunari commented 6 years ago

XcodeのObjectsからDesignし始めるときは,右上に当てるようにしてから,現れたWindowを配置していくようなものだった覚えがあります。

doraTeX commented 6 years ago

XcodeのObjectsからDesignし始めるときは,右上に当てるようにしてから,現れたWindowを配置していくようなもの

それは自分は見たことがないですね……

doraTeX commented 6 years ago

簡単な方法としては,

という方法が考えられます。オプションキーというのは機能を切り替えるためのキーなので,その動きはUIとしてそれなりに直感的と言っていいのではないかという気もします。

ただし,次なる懸念として,挿入されるものを \includegraphics ではなくいろいろとカスタマイズしたい,という要望が出てきたときに,挿入文字列のカスタマイズ機能を設けないとするのか,それともそれをカスタマイズするUIをどこかに何らかの形で設けるか,と考え始めると,なかなかやっかいです。 (ちなみに,TeXShopではドラッグ&ドロップで自動挿入される文字列をカスタマイズする機能は提供していません。)

yasunari commented 6 years ago

オプションを押しながらドラッグしたら \includegraphics を挿入する

macOSらしい直感的な操作で素晴らしいと思います。

挿入文字列のカスタマイズ機能を設けないとするのか,それともそれをカスタマイズするUIをどこかに何らかの形で設けるか

\includegraphics以外の何かを思いつきませんでしたので,\includegraphicsということにして,要望があれば応じて対策を考える,ということになさったらいかがでしょうか。TeX2epsには書式に合わせた\imgがあると良いかもしれませんね。

doraTeX commented 6 years ago

TeXShopでは,

のように拡張子ごとに挿入コードが固定的に規定されており,それらのカスタマイズ法は用意されていません。

yasunari commented 6 years ago

TeX2imgでは,

とすれば良いのでは無いでしょうか。TeXShopへの要望として,

があるとPackage製作のときに便利かと思います。まずは,TeX2imgに取り入れて下さると嬉しいです。

doraTeX commented 6 years ago

.texは\input{/path/to/hoge.tex}を挿入

現状は .tex のドラッグ&ドロップも「ファイルの読み込み」ですので,\input{/path/to/hoge.tex} の挿入もも option ありの場合に限定すべきです。

TeXShopへの要望として, .styは \usepackage{/path/to/hoge}を挿入

それは既にあるはずです。

yasunari commented 6 years ago

\input{/path/to/hoge.tex} の挿入も option ありの場合に限定すべきです。

そうですね。この場合に,PreambleをDropした.texに合わせて上書きしているようですが,QuitしたときにDefaultに戻しておいた方が良いように思えます。

Preambleを編集した際も,現状のManage templatesSave current as a templateがあるのでDefaultにしても良い気がしますが。

doraTeX commented 6 years ago

PreambleをDropした.texに合わせて上書きしているようですが,QuitしたときにDefaultに戻しておいた方が良いように思えます。

Defaultにしても良い気がしますが。

それは設計思想に反します。そもそも,「Default とは何か」というのも規定されていませんし,TeX2imgは「前回終了時のプリアンブルを保持する代わりに終了時に「破棄してよろしいですか」という確認ダイアログを出さない」ことで気軽に使える手軽アプリとして設計されているのです。プリアンブルの管理は「プロファイルの管理」で各自が行う設計思想です。

yasunari commented 6 years ago

なるほど。Preambleの編集を反映したい際は,Save current as a templateから同じ名前で保存してReplaceを選択することにします。

では,FileをDrag & Dropする挙動はそのままに,OptionをつけるとTeXShopのように「拡張子ごとに挿入コードを補完」するようにしたらどうでしょうか。

doraTeX commented 6 years ago

では,FileをDrag & Dropする挙動はそのままに,OptionをつけるとTeXShopのように「拡張子ごとに挿入コードを補完」するようにしたらどうでしょうか。

今のところ,optionをつけてドラッグ&ドロップするとTeXShopと同じコードを補完する設計で考えています。補完コードはTeXShopと同一に仕様をそろえておくのがよいでしょうね。

yasunari commented 6 years ago

よろしくお願い致します。実装の難易度は分かりませんし,お忙しいとは思いますが「#87」「#89」も合わせて2.3.1となると嬉しいです。

yasunari commented 6 years ago

それは既にあるはずです。

試してみたところ\usepackage{/path/to/hoge}ではなく,ただ単に\usepackage{hoge}と補完されるようです。意図的にDrag & Dropしている場合には\usepackage{/path/to/hoge}とした方が良いと思います。

doraTeX commented 6 years ago

TeXShopの場合は「styにはTEXINPUTSのパスが通っているはず」ということが前提となっていてそういう設計思想となっているのでしょう。 また,\input\includegraphics の補完においては,TeXShopでは相対パスでの補完となっています。 TeX2imgの場合は,大本となる .tex ファイルの存在位置がテンポラリディレクトリになるため,.tex でも .sty でも .pdf でも,「常に絶対パス指定で補完する」というしようとしておきたいと思います。