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

\includegraphicsをGUI化 #92

Open
yasunari opened this issue Jul 20, 2018 · 21 comments
Open

\includegraphicsをGUI化 #92

yasunari opened this issue Jul 20, 2018 · 21 comments

Comments

@yasunari
Copy link

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 20, 2018

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

@yasunari
Copy link
Author

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

  • 「Input TeX code」では\includegraphics[]{hope.pdf}
  • 「Input TeX source」では「Sourceを復元」

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 20, 2018

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

@yasunari
Copy link
Author

screen shot 2018-07-20 at 14 25 41

@doraTeX
Copy link
Owner

doraTeX commented Jul 20, 2018

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

@yasunari
Copy link
Author

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 20, 2018

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

@yasunari
Copy link
Author

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 20, 2018

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

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 20, 2018

簡単な方法としては,

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

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

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

@yasunari
Copy link
Author

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

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

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

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 21, 2018

TeXShopでは,

  • .tex をドラッグ&ドロップしたら \input{/path/to/hoge.tex} を挿入
  • .pdfをドラッグ&ドロップしたら \includegraphics{/path/to/hoge.pdf} を挿入
    ……

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

@yasunari
Copy link
Author

yasunari commented Jul 21, 2018

TeX2imgでは,

  • .tex\input{/path/to/hoge.tex}を挿入
  • 画像はSourceの復元を試みる
  • Optionがあれば\includegraphics{/path/to/hoge.png}のように挿入

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

  • .styは\usepackage{/path/to/hoge}`を挿入

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 21, 2018

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

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

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

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

@yasunari
Copy link
Author

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

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

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 21, 2018

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

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

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

@yasunari
Copy link
Author

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

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 21, 2018

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

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

@yasunari
Copy link
Author

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

@yasunari
Copy link
Author

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

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

@doraTeX
Copy link
Owner

doraTeX commented Jul 21, 2018

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

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

No branches or pull requests

2 participants