Tgif FAQ - eq4.sym のカスタマイズ


注意:

このページは、 Tgif ホームページ にある FAQ のページ を、竹野研究室 (主に竹野) が日本語に翻訳したものです。 オリジナルサイトの作者 (Bill Cheng 氏) の許可の元、ここに公開します。

FAQ 以外のページへのリンクは、 ほとんどがオリジナルページへのリンクになっていますので、 日本語訳はされていません (ただし、そのうち主なものは今後日本語訳することも考えています)。 また、ここに書かれているリンク先やソフトウェアなどの情報は、 書かれてからかなり年月が経っていますので、 リンク切れになっていたり、 現在の状況には合わない情報である可能性もあります。

この日本語訳のページに関する意見や質問は、 オリジナルサイトの作者ではなく、 竹野 にお願いいたします。

(05/31 2017)

このページのオリジナルサイト: http://bourbon.usc.edu/tgif/faq/customeq4.html

目次へ戻る


 
私の環境では、 eq4.sym ちゃんと動きません。 カスタマイズする簡単な方法はありませんか ?
以下のものを試してみてください。 まず、eq4.symmyeq4.sym という名前でコピーします。 myeq4.sym を以下のように開きます:
      tgif myeq4.sym
tgif で、それをカスタマイズする手順を以下に紹介します:

  1. 数式オブジェクトを右クリックし、 "エディターで属性編集" (Edit Attribute in Editor) の上でクリックし、それから "header=" の上でクリックします。 見えているものは、数式の前のファイルに入ります。 あなたが必要なようにそれを修正します。 そのファイルを保存し、エディタを終了すると、 header 属性が更新されます。

  2. 数式オブジェクトを右クリックし、 "エディターで属性編集" (Edit Attribute in Editor) の上でクリックし、それから "footer=" の上でクリックします。 見えているものは、数式の後ろのファイルに入ります。 あなたが必要なようにそれを修正します。 そのファイルを保存し、エディタを終了すると、 footer 属性が更新されます。

  3. 数式オブジェクトを右クリックし、 "エディターで属性編集" (Edit Attribute in Editor) の上でクリックし、それから "cmd=" の上でクリックします。 見えているものは、 生成した LaTeX ファイルを 概観用ビットマップを持つ EPS ファイルに 変換するときに tgif が実行するコマンドです。 文字列 $(file_name) は、 /tmp に作られるファイルのファイル名部分です。 xterm がそこにあり、 実行しているコマンドをそこで見ることができます。 あなたが必要なようにそれを修正します。 そのファイルを保存し、エディタを終了すると、 cmd 属性が更新されます。

  4. 数式オブジェクトを右クリックし、 "エディターで属性編集" (Edit Attribute in Editor) の上でクリックし、それから "exec=" の上でクリックします。 見えているものは、tgif の内部コマンド群で、 tgif はその数式オブジェクトがダブルクリックされたときに それらを実行します。 デフォルトではそのコマンドは以下の通りです:
            mktemp("/tmp/TgifXXXXXX","file_name");
            write_attr_into_file(header,"$(file_name).tex");
            append_attr_into_file(eq,"$(file_name).tex");
            append_attr_into_file(footer,"$(file_name).tex");
            launch("cmd");
            update_eps_child("$(file_name).eps");
            launch("cleanup")
    先頭行は、/tmp 内のファイルのファイル名を生成し、 そして実際のファイル名を数式オブジェクトの "file_name" 属性内に出力します。 この属性のその値を使うには、 $(file_name) の書式を使わなければいけません。

    次の 3 行は、一時ファイル "$(file_name).tex" 内に ヘッダ、数式、フッタを書きます。

    そして次の行は、"cmd=" 属性 (上を参照) に対応するコマンドを実行します。

    そして次の行は、生成した EPS ファイルを tgif 内に取り込みます。 実行するコマンドが "$(file_name).eps" 以外のファイルを生成する場合、 あなたはここでそれを変更すべきです。

    EPS ファイルを一度取り込むと、 /tmp 内で使われたすべてのファイルは削除できます。 これは、上の最後の行で行われます。

    あなたが必要なようにそれを修正します。 そのファイルを保存し、エディタを終了すると、 exec 属性が更新されます。

  5. ファイルメニューから「保存」(Save) を選択し、 同じディレクトリ内で他の tgif を起動します。 スペシャルメニューから「例示」(Instantiate、 ブロックオブジェクト例) を選択し、 myeq4.sym を選択します。 その上でダブルクリックし、そのコマンドを実行させます。 それが動作しない場合、以下のようなことを表示する メッセージボックスが現れるでしょう:
            update_eps_child(): Fail to import '/tmp/Tgif...'
    このウィンドウを閉じ ない でください。 /tmp へ行き、ファイル tgif*.tex を、 例えば /tmp/foo.tex にコピーします。 /tmp でコマンドを手動で実行し、 なぜそれらが失敗するか見てください。 そして、必要なら上の手順を繰り返してください。
 
私は数式の編集に vi を使いたくありません。 emacs を使うようにできませんか ?
デフォルトでは、tgif は vi を数式 (または、あなたがクリックした任意の属性、そして 背景メニューの "エディターで属性編集" (Edit Attribute in Editor) サブメニュー内の属性) の編集に使います。 もし代わりに emacs を使いたい場合は、 まず ":q" を打って vi の外に出ます。 そして、以下の X デフォルト値を追加します:
      Tgif.Editor: emacs -title '%s' '%s'
xrdb を使っているなら、 以下のようなことを行うことで、 あなたの X リソースデータベースを更新を確実に行ってください:
      xrdb ~/.Xdefaults
新しい値を反映させるためには、 tgif を再起動する必要があります。