-
Notifications
You must be signed in to change notification settings - Fork 2
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
PDF出力時にPDFのアノテーション情報にもTeXソース情報を含める #48
Comments
上記仕様に従って一通り実装完了。 |
追加仕様
|
現状の実装を Ver. 2.0.4 beta 1 としてまとめておきました。 |
Ver. 2.0.4 beta1 を起動しようとするとクラッシュしました。例によって Lion です。
|
これは本件とは無関係で, 0d010c9 に関連するこの問題でした。 |
そういえば、仕様が変わったのでしたね… 属性を消して元に戻しても、新しい OS で正常に動作するのでしょうか? PDF のアノテーションへの埋め込みと復元が正常に機能することを確認しました。仕様については上記のもので良いと思います。 |
とりあえず大丈夫そうです。
確認ありがとうございます。 Keynote からのソース復元が何とかできないか試してみましたが,最新版 Keynote では,貼り込むときにPDF内の余計な情報(PDF内のアノテーションや余計なコメント)を削除して整理してから貼り込むようで,付加情報を保持させたまま貼り込むのは困難そうです。(これは LaTeXiT も同様です。) |
Keynote はSVGをサポートしておらず,EPSもPDFに変換されて貼り込まれるので,ベクター画像を付加情報込みで Keynote に貼り込む手は全て封じられてしまいました。 |
それについては元々 TeX2img の EA を使う仕組みのほうが優れていると思っていたので気にしていませんでした。画像形式によってそれぞれ対応するのは面倒ですし、たとえ頑張っても途中でソースが切れるかもしれないと思うと、PDF アノテーションだけにとどめた今の方法が最善だと思います。 Keynote 仕様変更で復元できなくなって残念がる人多いでしょうね。 |
では現行の仕様で満足するとしましょう。 |
よろしくお願いいたします。 |
Snow Leopard 版にも導入しました。 今回の改良点
|
実装の詳細
※ 当初はアノテーションを書き込んだ著者名として TeX2img などと設定し,それによってラベルとしようと考えていたが,なぜかその方法でアノテーションの著者名を書き込んだPDFを作成したものを Preview.app で開くと Preview がクラッシュするというバグがあったので,その方法は中止。1行目にラベル行を設けるという実装法に変更した。 |
同じようにしてみています.テストのために,そっちで作ったPDFファイルをもらってもよいですか? |
こちら になります。 |
早っ!ありがとうございます. |
時間がかかってしまいましたが,やっと同じようなことができました.生成したtest.pdfをおいてみましたが,きちんとできてますでしょうか?一応そちらのPDFは読めました. |
!!! Mac から Windows にソースを運べました。Windows から Mac は(いま Mac 環境にいないので)試せていません。一つだけ、出力すべきファイルと一緒に一時ファイルもろとも附いてきたことにびっくりしましたが… |
お疲れ様です!
という処理を入れてはいかがでしょう。 |
MuPDFがその機能を持っていたのでそれ自身はよかったのですが,ドキュメントが貧しすぎて苦労したのと,プロセスを起動してやりとりする部分を書くのが面倒でした.(dllでのダイナミックリンクにすればよいのですが,それは封じられているので…….) こちらは
を既にしてあるので,改行コードに関係なく読めるはずです.確かに内部は全部CRLFにした気がするので,注釈もCRLFでしょうね.
をしてもらえるとよいかなと思います.
._hoge.jpg(でしたっけ?)みたいなファイルを読めば他の形式でも行けるでしょうか.このファイルどういう形式になっているのでしょう?
ありゃ,なんか変ですね. |
よくみると、TeX2img のコンソールに出てくる一時ファイル名とは異なるファイル名の PDF ファイルが、出力先ディレクトリに生成していました。こちらにはソースが埋め込まれていないことを除き、内容は本来出力すべきものと同じになっています。
|
はい,注釈をつける際に作った一時ファイルでしょう.多分mudrawのプロセス終了以前にこのファイルを消そうとしてしまっているのではないかと思います.(プロセスがつかんでいるので消せない.)何度か試してみると手元ではランダムで残ったりそうでなかったりしているので. |
作業ディレクトリの中で注釈をつけてから,ということはできないでしょうか? |
できなくはないのですが,ソース埋め込みの処理を一カ所にまとめておきたいのと,埋め込み処理は出力フォルダでした方がよいと思うのとで,今みたいになっています.1秒待って終了処理が終わらないことはまずないと思うので大丈夫かと. |
確かに一箇所のほうが分岐が少ない、と思ったのですが
これは NTFS かどうかに関わるからだと思ったのですが、FAT でもアノテーションへの埋め込みはやったほうがよいので、あまり分岐が減った気がしないかなという感じがしました。実装がどうなっているのか分かっていないのであてずっぽうで申し訳ありませんが… |
この処理を入れたところ,めでたく Windows の注釈を復元できました!
これは情報が少ないですね……。普通,このファイルは他のOSでは目障りで削除される対象なので,その内容を解析しようとした試みがほとんど見当たりません。 |
Windows との互換性を実現した Ver. 2.0.5 beta 1 を置いておきました。 |
それでは極力一時フォルダで作業するようにしてみました.(ちなみにこのファイルは設定によらず消えるようにしています.)
ありがとうございます.さくっとできそうならばと思ったのですが,ちょっと面倒そうですね…….まぁ気が向いたら試してみます. |
ありがとうございます.ちょっとやるか悩みますが,読めるには読めそうですね.まぁ少しさきほどのリンク先もこめて眺めてみます. 今普段使っている解凍ソフトでやったら__MACOSXが現れませんでした.設定に「MACリソースフォークを読み飛ばす」というのがあって,それがデフォルトでONになっていたようです.確かにあまり残らず実装しても無駄な可能性が高いかもしれません…… |
Wikipedia最初のリンクの仕様と照らし合わせてもらったファイルを見てみました.9byte目から16byteは0で埋められていると書いてあるのに全然埋まっていないのが気になりますが……. しかし最初のリンクの仕様のやつ,Appleのサイトじゃないですね.Appleは情報を公開していないのかな.そうするとあまりやる気がなくなってきたり……. |
リンク先の仕様書,日付が1990年とか1994年とか書いてあって相当に古いですので,今は変わっている可能性が高いですね。Appleのサイトに仕様書が見つかりませんし,Finder Info の仕様も含め,最新の仕様は公開されていないのかもしれません。 |
Finder Infoのヘッダとかを表す構造体が手元の環境のどっかのヘッダファイルにあったりしないでしょうか? |
探しまくった結果,どうやらこれが該当しそうです。 |
おお,すげーありがとうございます.やる気が出てきました. |
上記リンクのファイル名は vfs_xattr.c ですが,名前的にHFS+方は hfs_xattr.c が該当するのでしょうね。 |
おかげさまで読み込むことができるようになりました.処理部分をきちんと呼んだわけではないので,正確かそこまで自信がないですが……おそらく https://github.com/abenori/TeX2img/blob/master/AppleDouble.cs の上の方に書いた仕様かと思って処理しています.とりあえずいただいたサンプルは処理できているっぽいです. |
おおっ,これはすごい!! このソースは自分にとっても貴重な資料です!ありがとうございます。 |
ゴミファイル扱いされるが故に実装した意味があるかは激しく謎ですが(笑) そういえば教えてもらったソースはリソースフォークも見ているように見えるのですが,TeX2imgの場合はFinder情報の拡張属性に必ず入ると仮定しても大丈夫でしょうか? |
setxattr を使って書き込むと,Finder Info の方に入るということでよさそうですね。 |
実際に Win と Mac でファイルを行ったり来たりさせる実験を行ってみました。
というわけで、テストの範囲内ではすべて期待通りに動作していました。以上でテストとしては十分でしょうか? Windows で NTFS の拡張属性を積極的に活用したのみならず、Apple Double の拡張属性のほうを読むというこれまた画期的な実装が行われたことは感動的です。 |
なお、本件とは別ですが Windows 版は最近
これは pdfcrop.pl と同じようにスマートに余白を指定できる機能です。Mac 版にも付くと嬉しいです。 |
ありがとうございます.大丈夫そうですね. |
新機能案:「PDF出力時にPDFのアノテーション情報にもTeXソース情報を含める」
メリット
仕様案
検討事項
制限
The text was updated successfully, but these errors were encountered: