ラベル TeX の投稿を表示しています。 すべての投稿を表示
ラベル TeX の投稿を表示しています。 すべての投稿を表示

2019年12月2日月曜日

VS Code で LaTeX の執筆環境を整える

Sublime Text の台頭から始まった第2次エディタ戦争も Visual Studio Code (以下 VS Code)に収束した感があるので,学生さんにも LaTeX な原稿を VS Code で執筆することをお勧めしています.
しかし,なんか微妙なビルド環境になっていることが多いので,お勧めのパターンをメモしておきます.

※ TeX一式と VS Code がインストールされていることが前提です.TeXについては TeX Live をネットワーク経由でインストールするのがお勧めです.ミラーサーバーの引きが悪いと一向に作業がすすまないことがあるので,その時は中断してやり直すか,上記ページの説明をよく読んだ方がいいです.

LaTeX Workshop を入れる

インストール

LaTeX 原稿のビルドやプレビュー,入力補完などを行うための Extension
を入れます.VS Code をインストールした状態であれば上のリンク先で Install のボタンをクリックすればインストールできると思います.

ビルドの設定

LaTeX Workshop は色々な手順・方法でのビルドに対応しています.
文書ごとに設定ファイル latexmkrc (先頭にドットは付かない・拡張子もつかない)を作成し,Latexmk でビルドする方法をお勧めします.
ホームディレクリに .latexmkrc (先頭にドットが付く) を置いて全ての文書でもその設定を使うやり方もありますが,お勧めしません.
余分な dvipdfmx の呼び出しが避けられなくなるので ptex2pdf を使うのもお勧めしません.
この方法のメリットは
  • BiBTeX を使っている場合(普通はそうしたほうが良いです),効率が良く正しい手順は面倒で間違いやすいが,Latexmk にお任せすればうまくやってくれる
  • 日本語の文書は大抵の場合 pLaTeX でコンパイルする必要がある.
    しかし,pLaTeX のベースは古く,国際会議などのテンプレートに対応できない場合があるので,英語の原稿は pdfLaTeX でビルドするほうが無難である.
    したがってビルド手順は文書ごとに保持するほうが簡単
  • たとえ VS Code を使うのをやめても Latexmk で簡単にビルドできる.
    (Latexmk は20年以上持続的に開発されており,LaTeXの処理系と同程度には将来も使えることが期待できます.エディタはこの20年で3回は乗り換えたので…)
  • 他の人に渡してもビルドが簡単
    (TeX のディストリビューションをインストールすればほとんどの場合 Latexmk は入っています)
ことです.

エディタのビルド設定(settings.json)

まず,LaTeX Workshop がLatexmkを呼んでくれるように下記の内容を settings.json に追記します.settings.json の編集方法はちょいちょい変わっていますが,2019年12月時点ではこの辺の情報が正しいです.


各文書ごとのビルド設定(latexmkrc)

VS Code を使う場合は各文書ごとにフォルダを一つ作るのがおすすめです.
推敲の履歴を残したい場合は hoge_old.tex などを作るのではなく Git を使いましょう.

フォルダの直下にlatexmkrcという名前のファイルを作成します.
日本語の文書の場合は
英語の文書の場合は
のようにすると良いです.

スペルチェッカーを入れる

スペルチェッカーにかけていない原稿を人に見せるのは時間の無駄なのでやめましょう.
簡単にインストールできるのは Code Spell Checker だと思います.
機能的にはOSのスペルチェック機能を使う Spell Right が優秀だと思いますが,Windows ではOS側の設定が面倒です.Macだと簡単かもしれません.

2016年1月7日木曜日

Atom で LaTeX on Windows (+ 最近のビルド環境)


新しい環境を求めて LaTeX の編集環境を Sublime Text 2に移行しましたが,Sublime Text 3 がいつまでもβ版だったりして停滞感があるところで Atom が流行してきたので,そっちに移行していました.

当初は完成度が低くて実用的ではなかったのですが,最近(2016年1月頃)は実用にギリギリ耐える気がしてきたので,設定や注意事項をメモしておきます.

TeXのインストール

多くの方のご尽力により,世界でも標準的な TeX Live をインストールすれば日本語でも不自由しないので,これを使っています.以下でも TeX Live で普通にインストールした環境を前提としています.

何かとTeX関連のバイナリにパスが通っていることを前提としているパッケージが多いので,

C:\texlive\2015\bin\win32

を環境変数Pathに追加してください.
(上記はTeX Live 2015を既定の設定でインストールしたときのパスですが,バージョンなどに合わせて適宜読み替えてください.)

Atomのインストール

Atomのホームページからインストールできます. 最近は標準的なインストールで日本語が問題なく使えます.ただ,後述しますがフォントの設定はした方がよいように思います.

シンタックスハイライティング

文法に応じて色付けするあれです
をインストールします.なお,Atomでのパッケージの検索とインストールは File メニューの Settings で設定のタブを開き,Install を選んで表示される画面から行うことができます.

Latexmkによる自動コンパイル

一応ビルド用のパッケージがあるのですが,日本語原稿と英語原稿で設定を切り替えたりするのが面倒なのと,TeXのエラーメッセージは機械可読性がいまいちで完全にエラーハンドリングできることを期待できないので,最近はエディタのパッケージでビルドを行うのではなくlatexmkで常時自動コンパイル状態にしています.

latexmkrcファイルの準備

文書ごとにフォルダを用意し,TeXのソースを格納しているフォルダに日本語の場合は以下のような latexmkrc ファイル(ファイル名の頭にドットはついていません)
英語の場合は以下のような latexmkrc ファイル
を配置して,TeXのソースを格納しているフォルダで開いたコマンドプロンプトで

latexmk -pvc

を実行しておけばTeXのソース(やbibファイルや図のファイル)が更新されるたびに自動でコンパイルしてくれます.自動でビューワーの起動も行うのですが,後述の Atom内PDFビューワーを使う場合は不要なので設定ファイル内のコメントのように exit か何かを指定しておくとよいと思います.ビューワーを起動しないでコンパイルだけするオプションは無いような気がします.

また,この場合TeXソースがあるフォルダまでCDするのは面倒なので

  • エクスプローラーでシフトキーを押しながら右クリックするとメニューに密かに「このフォルダでコマンドプロンプトを開く」という項目が増えているので,これを使う.
  • atom-terminal パッケージをインストールすると,atom 左側の tree-view でフォルダや右クリックした際に表示されるメニューに Open terminal at root が追加されるのでこれを使う.

などの方法を覚えておくと便利だと思います.

エラーの確認

エラーは.logファイルに出力されています.後述するPDFファイルのタブとともにAtomで開きっぱなしにしておいても順次更新されるので,僕は開きっぱなしにしています.なお,logファイルを色付けして表示するためには Grammar を LaTeX Log に設定する必要があります..log ファイルを開いた状態で右下に Plain Text と表示されているので,これをクリックすると Grammar を選択することができます..logの拡張子で自動的にGrammarを変えることも可能でしょうが,LaTeX以外でも.logの拡張子を持つファイルがあるので特に設定していません.

備考

ファイル名の頭にドットがついた .latexmkrc をホームフォルダ(WindowsではHOME環境変数で指定したフォルダか C:\Users\maruta とかになっていると思います)に配置すると latexmk はデフォルトでその設定を使ってくれますが,昔のTeXソースをコンパイルするときの設定を忘れたり英語原稿と日本語原稿で記述を変えたりするのが面倒なので,TeXの原稿ごとに設定ファイルを配置するこの形に落着きました.

Atom内でのPDFプレビュー(+SyncTeX)

実は大してメリットがない気もしますが,AtomのタブでPDFを開けるとなんかカッコいいです.
をインストールするとこれが実現でき,表示されたPDFをクリックした際に対応箇所のTeXソースに飛ぶSyncTeXを利用することができます.

日本語PDF問題

長らく標準では日本語のPDFが文字化けしていました.これに関してIssueがあったものの途中で止まっていたのですが,調べてみたところ解決できそうでしたのでお願いして直してもらいました.


バージョン 0.39.0 以降では日本語が利用可能です.Issueを作成された@yohasebeさんと開発者の@izuzakさんに感謝いたします.

PDFへのフォント埋め込み設定

Atom の pdf-view パッケージではフォントを埋め込んでいないPDFファイルの漢字には中国語フォントが適用されるようです.ひらがなに使われる日本語フォントとの組み合わせと相まって日本語の文書は大変見苦しくなりますので,何らかのフォントの埋め込みをお勧めします.
TeX Live のコマンドプロンプトで

kanji-config-updmap status

を入力して状況を確認し

kanji-config-updmap ipaex

などのコマンドで埋め込むフォントを選択することができます.

pdf-view の現状の課題

ここまで書いておいてなんですが,100ページくらいのPDFを開くと簡単に不具合を起こしたり,テキストが選択できなかったり検索がかからなかったりするのであまり使い勝手が良いわけではありません(2016年1月現在).今後の進化に期待です.

SumatraPDFでのPDFプレビュー(+SyncTeX)

Atomの外部でPDFをプレビューする場合,いわゆる Acrobat や Reader でPDFファイルを開くとPDFファイルがロックされてTeXのコンパイルができなくなるので,コンパイルのたびにビューワーを閉じないといけませんが,PDFファイルをロックしない SumatraPDF を使うと,PDFを開いたまま修正とコンパイルを行うことができます.SumatraPDFは
からダウンロード可能です.

またビューワー上でクリックした際にTeXソースの該当箇所に自動で移動する SyncTeX については,上述の latexmkrc 内での指定のような -inverse-search オプションを付けて起動するか,適当な(TeXで生成された)PDFを開いた状態でSumatraPDFの左上のアイコンをクリックして表示されるメニューから Settings → Options をクリックし,Set inverse search command-line の項目を

"C:\Users\maruta\AppData\Local\atom\bin\atom.cmd" "%f:%l"

のように設定してください.

atomの実行ファイルはユーザー毎のフォルダにインストールされているので,どの場合も実行ファイルのパス中に含まれる maruta を自分のユーザー名で置き換えることに注意してください.

スペルチェッカの設定

Atomには標準でスペルチェッカがついています.が,Windows の場合
  • Windows 標準のスペルチェッカが使われる
  • 言語はシステムの設定に準じる
という仕様になっているで,英語のスペルチェッカを使うためにはシステムの言語設定を英語に切り替えるしかありません.この辺の仕様については色々と議論があるので,
そのうち改善するような気もしますが,今のところAtomでLaTeXを使う上で最大の問題かもしれません.LaTeX編集中にスペルチェッカを有効にするためには
[File]-[Setting]でPackagesの画面を開き,spell-checkを検索します

そしてspell-checkパッケージの設定画面(Settings)に移動し,Grammarsの項に text.tex.latex を追加します.

フォントの設定

File メニューから Settings の画面を開き Font Family のところに CSS でフォントを指定する要領で書くことができます.僕の設定は

Consolas, メイリオ

です.カンマで区切って列挙すると最初のフォントに含まれない文字は次のフォントで表示される感じになるので,簡単に好きな英文フォントと和文フォントを組み合わせることができます.個人的には,ここの簡単さとフォントのレンダリングがWebブラウザ並みに綺麗という点が LaTeX 編集に Atom を使う最大のアドバンテージな気がします.

僕は日本語を書くときには等幅を妥協する派ですが,等幅フォントが好きな人はMiguフォントとかを使うと良いと思います.

覚えておくべき機能

スニペット Snippet

今どきのエディタの定番機能で,定型コードの入力を大幅に省力化できます.とりあえず language-latex パッケージをインストールした際にLaTeX用のスニペットが登録されているので,適当なTeXファイルを開いて[Alt]+[Shift]+[S]のショートカットを使うと一覧を見ることができます.

この一覧から使いたい項目を選択することもできますが,項目の上側に表示されているprefixを覚えておけば,通常の文と同様にprefixを入力し[TAB]を押すことでスニペットを使うことができます.

文脈によって(数式環境の中とか外とか)有効なスニペットが変わったりするので色々試してみてください.

使い方に慣れてきたらスニペットの自作をお勧めします.

マルチカーソル

これまた今どきのエディタでは定番の,複数のカーソルを使って複数の箇所を同時に編集する機能です.
  • [Ctrl]キーを押しながらクリックするとその位置にカーソルが増えます. 
  • 適当な文字列を選択した状態で[Ctrl]+[D]を入力すると,選択中の文字列を検索してその位置にカーソルが増えます.繰り返し[Ctrl]+[D]を入力することで順次検索&カーソルの追加が行われます. 
慣れるとすごく便利なのでぜひ使うように心がけてみてください.

LaTeXの編集作業の中では,表や数式をいじるときに使いどころが多いと思います.

便利なパッケージなど

アイコンの拡充

をインストールするとファイルのアイコンが豊富になります.TeXのファイルも専用のアイコンになり,ツリー表示やタブが少しわかりやすくなるのでインストールをお勧めします.

minimap

今どきのエディタによくあるカッコいいあれです.
標準では入っていないですが
をインストールすると使えるようになります.

ファイル名補完

LaTeXで図や写真・画像などを使う場合,ファイル名を入力するのが地味に面倒だったりしますが,
を使うと補完の候補にファイルやフォルダの名前が出現するようになります.

カレントディレクトリ配下のファイル名を入力したい場合「./」と入力を始めると候補が表示されます.

\cite, \ref の補完

参考文献や数式,図表の番号を参照する際に
を入れておくと自動で補完してくれて快適です.参考文献については .bib ファイルを読み込んでいるので,BibTeXを使っていない場合は機能しないと思います.

まとめ

Atomはオープンソースの申し子のようなエディタであり,これまでの急速な改善からみても,いまどきの定番エディタの地位を長く維持できるような気がします.

ただし LaTeX や Windows や日本語といった辺境領域への対応はまだまだ不安定だったり完成度が低い感じですので,これからさらに開発が盛り上がることを期待したいです.
自分でもちょいちょいと貢献できたらな~と考えています.

あと,個人的には SublimeText2でだいぶお世話になり,最近 Atom 版の開発が始まったLaTeXTools に期待しています.
いまのところ動かない機能が8割といった感じなので(2016年1月現在),頃合いをみて試してみたいと思います.


2015年6月15日月曜日

TeX Live 2015 でアップデートされたパッケージ

TeX Live が2015にアップデートされました.
たまにアップデートされたパッケージが原因で不具合がでることがあり,
原因の特定に手間取るので,2014を消す前に差分をメモしておきます.

以下のリストは適当なスクリプトで自動生成して特にチェックしていないので
重大な間違いがある可能性があります.ご注意ください.

2015年3月5日木曜日

dvipdfmxやdvioutでGhostscript 9.15が\undefinedresourceエラーを出す場合の対処

dvioutやdvipdfmxがeps形式の画像を処理する場合,Ghostscriptが呼ばれます.
最近 TeX Live 2014 をインストールしたマシンでこの処理が

Error: /undefinedresource in resourcestatus
Operand stack:
   false   ct_StyleDicts   --dict:0/4(L)--   Adobe-Japan1   --dict:0/4(L)--   Serif   HeiseiMin-W3-83pv-RKSJ-H   Font   HeiseiMin-W3   CIDFont
Execution stack:
   %interp_exit   .runexec2   --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   false   1   %stopped_push   1983   1   3   %oparray_pop   1983   1   3   %oparray_pop   1982   1   3   %oparray_pop   --nostringval--   1966   1   3   %oparray_pop   1852   1   3   %oparray_pop   --nostringval--   %errorexec_pop   .runexec2 --nostringval--   --nostringval--   --nostringval--   2   %stopped_push   --nostringval--   --nostringval--   --nostringval--   1931   10   9   %oparray_pop
Dictionary stack:
   --dict:1196/1684(ro)(G)--   --dict:0/20(G)--   --dict:87/200(L)--   --dict:57/75(L)--   --dict:2/10(L)--   --dict:39/70(L)--   --dict:0/4(L)--   --dict:0/4(L)--   --dict:20/27(ro)(G)--   --dict:20/26(ro)(G)--
Current allocation mode is local
Last OS error: No such file or directory
GPL Ghostscript 9.15: Unrecoverable error, exit code 1

という感じのエラーを出していたので,いろいろ調べてみたところ
TeX Live に付属のGhostscript(tlgs)がバージョン 9.15になったときの変更で
動作しなくなったようです.

場当たり的な対応ですが,とりあえず
http://www.ghostscript.com/GPL_Ghostscript_9.10.html
からバージョン9.10のGhostscriptをインストールして
C:\Program Files (x86)\gs\gs9.10\bin
の内容を
C:\texlive\2014\tlpkg\tlgs\bin
にコピーすれば動くようになります.

Ghostscriptの置き換え方については↓のQ&Aを参考にしました.
http://tex.stackexchange.com/a/204490

あまりよいやり方ではなく,TeX Live をアップデートした拍子に新しいバージョンで
上書きされたりしそうなので,よりよい方法をご存知の方がおられましたら,ぜひ教えてください.

2013年8月29日木曜日

Windows の TeX Live 2013 でヒラギノフォントを埋め込む方法

学会の投稿論文ではしばしばフォントの埋め込みを指示されることがあります.これは結構な頭痛の種でしたが,TeX Live 2013 からは kanji-config-upd というコマンドが用意されていて容易く埋め込み設定を行うことができるようになりました

Windowsの場合,

kanji-config-updmap status

というコマンドで利用可能な選択肢を確認すると,インストールされている Adobe 製ソフトウェアに依存しますが

CURRENT family : noEmbed
Standby family : ipa
Standby family : ipaex
Standby family : kozuka
Standby family : kozuka-pr6n
Standby family : ms

という感じの結果が得られると思います.
この中でライセンス的に確実に安全な選択肢はIPAフォントですので,見た目に拘らないならこれを使うべきです.
小塚フォントは Adobe のソフトウェアと一緒にインストールされていることが多いですが,フォントデータが再利用可能な形で配布してはいけないことになっているので,PDFに埋め込んで配布すると咎められる可能性があると思います.
MSゴシック/MS明朝に関してはフォントの埋め込み可能フラグが立っているので埋め込みを行って良いように思われますが,埋め込んだPDFの利用に関する明確な許諾範囲がネットではみつかりませんでした.また,見た目に関しても Macに標準で付属しているヒラギノフォントに比べるとちょっといけてない気がします.

埋め込み可能なヒラギノフォントの入手

というわけで,たいへんニッチな話題ですが,Windowsでヒラギノフォントを埋め込んだPDFを作る方法についてメモしておきます.
まず,ヒラギノフォントの入手方法ですが,僕は「一太郎2012承 プレミアム版」のバンドル品として入手しました.一太郎以外のソフトでも利用可能で,商用・非商用を問わずサブセットであれば埋め込んでよいと明記されているので安心です.
通常の手段で購入する場合はモリサワのセレクトパックなどで購入することになると思いますが,その場合は結構なお値段(Macより高いかも?)になるので 基本7書体パック の方を amazon とかで買ったほうが費用対効果が高いかもしれません.なお,Macに付属のフォントをWindowsにコピーすることは禁じられているはずなので注意してください.

ヒラギノフォントを利用可能にする設定

TeX Live 2013 にはヒラギノフォント用の設定が含まれていますが,Mac付属のものを前提としたものであり,一太郎バンドルのものを扱うには設定が必要です.
具体的にはフォントファイルのファイル名が異なるので,そのままでは認識してくれません.

この問題を解消するためには,c:\texlive\texmf-local\fonts\opentype\public\hiragino というフォルダを作成し,管理者権限でコマンドプロンプトを起動して以下のようなコマンドを入力します.

cd c:\texlive\texmf-local\fonts\opentype\public\hiragino
mklink HiraKakuProN-W3.otf "C:\Windows\Fonts\ヒラギノ角ゴ ProN W3.OTF"
mklink HiraKakuProN-W6.otf "C:\Windows\Fonts\ヒラギノ角ゴ ProN W6.OTF"
mklink HiraKakuStdN-W8.otf "C:\Windows\Fonts\ヒラギノ角ゴ StdN W8.OTF""
mklink HiraMaruProN-W4.otf "C:\Windows\Fonts\ヒラギノ丸ゴ StdN W4.OTF"
mklink HiraMinProN-W3.otf "C:\Windows\Fonts\ヒラギノ明朝 ProN W3.OTF"
mklink HiraMinProN-W6.otf "C:\Windows\Fonts\ヒラギノ明朝 ProN W6.OTF"

これによって TeX が認識するシンボリックリンクが作成されます.(ちなみに mklink コマンドが存在するのは Vista 以降の Windows です.)
その後,管理者権限ではない TeX Live のコマンドプロンプトで

mktexlsr
kanji-config-updmap status

と入力すると

CURRENT family : noEmbed
Standby family : hiragino-pron
Standby family : ipa
Standby family : ipaex
Standby family : kozuka
Standby family : kozuka-pr6n
Standby family : ms

のように表示されているはずなので

kanji-config-updmap hiragino-pron

と入力すると,ヒラギノフォントが埋め込まれるようになります.


2013年3月13日水曜日

使ってはいけない LaTeX のコマンド・パッケージ・作法

コメントで頂いた情報を「2. 数式関係」に,使ってはいけないパッケージの自動チェックについての項を末尾に追記しました.(2013/10/12)

制御関係の学会では LaTeX というソフトで論文を書きます.LaTeX の歴史は古く,現代の水準で考えると設計し直すべきと思う部分も多々ありますが,世間で広く使われている Word の生産性が論文を書くという作業において今ひとつという事情も手伝ってか,現在に至るまでデファクトスタンダードの座を維持しています.

Wikipedia の記事によると $\LaTeX2e$ がリリースされたのは1993年,つまり20年前で,これ以降様々なパッケージによる拡張が行われています.現在(2013/03/11) CTAN には 4451 個  のパッケージが登録されているそうです.また,Web上にも色々なテクニックが蓄積され,大抵のことを実現する方法は検索すれば出てくる状況になっています.

しかし,その中には互換性の問題やより優れた代替が存在するために現在では使うべきでないものも相当数あります.
にそれらに関する情報はあるものの(これらも既に5年以上前の情報ですが…)日本語の情報が少ないせいか使うべきでないパッケージやコマンドを使っている学生さんをよく見かけるので,重要そうなものを,研究室内あるある順でまとめておきます.以下の内容はほとんど上記の記事の翻訳+まとめ+αになっています.

2013年1月29日火曜日

Sublime Text 2 で LaTeX on Windows

2013/4/14 コメントでいただいた情報を追記


Sublime Text 2 とは?

Sublime Text 2 は最近巷で流行っている主にプログラムを書くためのエディターです.
僕はここ10年の殆どの期間 TeX 文書の編集に Emacs を利用しており,年に一度くらいの頻度で他のエディタを試しては Emacs に帰ってくるというのを繰り返していたのですが.Sublime Text 2 は大変使い心地が良く,今後も使い続けようと思うので TeX 編集環境の設定も含むインストール手順,その他もろもろをメモしておきます.

2012年4月9日月曜日

プロキシ環境下で Windowsマシンに TeX Live を入れる際のメモ

PC移行時のTeX環境の構築は結構大仕事でしたが,
最近は簡単に使えるインストーラが出てきたおかげですごく楽になりました.

しかし最近主流になっているという噂の TeX Live をインストールしようとしたところ
プロキシ関係で詰まったので解決法をメモしておきます.

.wgetrc の設定

TeXLiveのページによるとTeX Live のネットワークインストーラは
ダウンロードにwgetを使用しており,ホームディレクトリに.wgetrcというファイルを作って

http_proxy=http://hogehoge.net:8080/
ftp_proxy=http://fugafuga.net:8080/
use_proxy = on

という感じに設定を書いておくとプロキシが使用されることになっています.
ホームディレクトリがどこなのかわからないときは
展開されたインストーラの中のwgetが含まれているフォルダ
(例えば install-tl-20120406\tlpkg\installer\wget\)
に入れておいてもいいようです.

install-tl.bat のコマンドラインオプション

上記の設定でうまくいくことを期待したのですが,install-tl.bat を実行してみると
どうやら一旦プロキシ設定を使わないコードでのダウンロードを試み,
失敗したあとでwgetを使ったダウンロードにフォールバックしているようで
異常に時間がかかります.

この場合,コマンドラインオプションをつけて
install-tl.bat --no-persistent-downloads
のようにインストーラを起動すると
最初からwgetを使ってダウンロードしてくれるので
現実的な速度でダウンロードができるようになります.

tlmgr のコマンドラインオプション(2012/4/22 追記)

TeX Live のアップデート時には tlmgr というコマンドを使うみたいですが,こちらにも同様の問題とオプションがあります. tlmgr 自身のアップデートには
tlmgr update --self -no-persistent-downloads
全てのパッケージをアップデートするには
tlmgr update --all -no-persistent-downloads
というコマンドを [スタートメニュー] - [TeX Live 2011] - [TeX Live command-line] で起動するコマンドプロンプトで入力すれば良いようです.

2012年1月19日木曜日

BloggerでMathJaxを使ってTeXっぽく数式を入れる方法

MathJax を使うと簡単にブログ中に TeX と同様の形式で数式を埋め込むことができるみたいです.

詳しい手順は

一応日本語版で Blogger in Draft が有効になっている場合の手順を書いておくと
  1. ブログの管理画面で「テンプレート」の設定画面を表示
  2. 「ブログで使用中」のテンプレート下にある「HTMLの編集」をクリック.確認されたら続行する.
  3. <head> の直後に上のリンク先で公開されているコードを貼り付け
で完了です.

あとは本文中で \$e^{i\pi}=-1\$ のように書けば$e^{i\pi}=-1$ のように表示されます.

また,\[\]を使うと
\[
\int_0^{2\pi} \sin x \mathrm{d}x = 0
\]
のように別行立ての数式を使うことができます.

2011年5月22日日曜日

Mac OS X Server 上の MediaWiki で TeX を使う設定

MacOS X Snow Lepard Server にインストールした MediaWiki で TeX を有効にする設定に意外と手間取ったので情報をメモしておきます.思い出しながら書いているので漏れがあるかもしれません.


  1. MacPorts で必要なソフトをインストール
    MacPorts を使って必要なパッケージをインストールします.MacPorts のインストールには Xcode が必要なので,もしまだ入れてなければサーバーのディスクからインストールします.必要なパッケージはpTeX, ghostscript, ImageMagick, OCaml です.具体的に入力するコマンドは

    $ sudo port self-update
    $ sudo port install pTeX +utf8
    $ sudo port install ocaml
    $ sudo port install ghostscript
    $ sudo port install imagemagick

    という感じだったと思います.
  2. texvc のコンパイル
    次に,(MediaWikiのインストールディレクトリ)/math/ にある texvc をコンパイルします.その際,そのままコンパイルすると texvcが tex等のパスを得られないので, math/render.ml に記述されているコマンドを部分を絶対パスを含むように編集します.具体的には

    let cmd_dvips tmpprefix = "dvips ・・・
    let cmd_latex tmpprefix = "latex ・・・
    let cmd_convert tmpprefix finalpath = "convert ・・・・
    let cmd_dvipng tmpprefix finalpath backcolor = "dvipng ・・・
    

     の4行を

    let cmd_dvips tmpprefix = "/opt/local/bin/dvips ・・・
    let cmd_latex tmpprefix = "/opt/local/bin/latex ・・・
    let cmd_convert tmpprefix finalpath = "/opt/local/bin/convert ・・・・
    let cmd_dvipng tmpprefix finalpath backcolor = "/opt/local/bin/dvipng ・・・
    
    
    のように書き換えます.修正が済んだら make で texvc をコンパイルします.
  3. MediaWikiの設定
    最後に LocalSettings.php で

    $wgUseTeX           = true;

    としてTeXを有効にし,imagesディレクトリの読み書きができるようパーミッションを設定して完了です.

2011年3月1日火曜日

PDF を生成したとき txfonts を使った TeX 文書でフォントが変わる問題の対処法メモ

txfonts.sty は TeX で Times 風のフォントを使うパッケージで良く用いられています.

このパッケージを Windows の TeXインストーラ3 な環境で使ったときに dviout では
のように出力されている数式が dvipdfmx 等で PDF に変換したあと
のように変化して添え字や他の記号との位置関係がおかしくなることがあります.この現象は PDF 生成時に Times の代替フォントとして Times New Roman が使われ,字形が微妙に変化するために起こるそうです. dviout で使われている ghostscript 付属の Times 代替フォントを PDF でも同様に用いたい場合,
(TeXのインストールディレクトリ)\share\texmf\dvipdfmx\config\dvipdfmx.cfg
の末尾に
f  txr2.map
という行を追加すれば PDF でも dviout と同様の出力が得られます.

2010年11月16日火曜日

TeXで複数のAppendixを出力する方法

本のような長い文書の場合,章ごとに付録を付けたい場合があります.標準の TeX でこれを実行するのは面倒ですが,便利なスタイルファイルがあることを知ったのでメモしておきます.
必要なスタイルファイルは appendix.sty で


からパッケージをダウンロードできます.コンパイル済みではないので,texmf の配下にファイルを配置して
$ latex appendix.ins
$ mktexlsr
といったコマンドを実行する必要があります.

典型的な使い方は
\usepackage[titletoc,title]{appendix}
% :
\chapter{My Idea} % 1つめの章
% :
\section{Analysis}
% :

\begin{subappendices} % 1つめの章の付録
\section{Proofs}
% :
\end{subappendices} % ここまでが付録

\chapter{Other Idea}  % 次の章
% :

のようになり,この場合出力される文書・目次は
1 My Idea
   1.1 Analysis
   Appendix 1.A Proofs
2 Other Idea
のような構造になります.他にも
\begin{appendices}
% この中身は章・節の配下ではなく文書直下の付録になる(多分)
\end{appendices}
といった環境や,様々なオプションがあるので詳しくはパッケージについてくるドキュメントを参照してください.

2009年2月2日月曜日

IEEEのLaTeX投稿用テンプレで紹介されてるスタイルファイル

IEEEの投稿用のクラスファイルについているテンプレート(リンク)に,推奨スタイルファイルが結構詳しく紹介されているのでメモ.
  • \usepackage{ifpdf}
    Heiko Oberdiek 氏の ifpdf.sty は,出力の種類(pdfかdviか)に応じて条件コンパイルを行う時に便利です.
    使い方:
    \ifpdf
    % pdf code
    \else
    % dvi code
    \fi

    ifpdf.styの最新版は,
    http://www.ctan.org/tex-archive/macros/latex/contrib/oberdiek/
    から入手できます.
  • \usepackage{cite}
    文献の参照を改良するスタイルファイルです.たとえば,[1], [9], [2], [7], [5], [6] は自動的に [1], [2], [5]--[7], [9]とかになります.あと,参照の直前の余白は自動的に調節されるらしいです.
    IEEEのクラスファイルはこれを使うことが前提でnatbib.styとは基本的に共存できませんが(何かオプション付けたらできるはず),他のところではnatbib.sty使うことの方が多い気がします.最新版は
    http://www.ctan.org/tex-archive/macros/latex/contrib/cite/
    から入手できます.
  • \usepackage[pdftex]{graphicx}
    \usepackage[dvips]{graphicx}
    \graphicspath{{../eps/}}
    言わずと知れた図を挿入するためのスタイルファイルです.日本では日本語の問題からかあんまりメジャーじゃないですけど,海外ではpdftexって結構使われてるんですね.
    密かに\graphicspathでパスを指定できるのは知らなかった・・
  • \usepackage[cmex10]{amsmath}
    定番のAMSの数式環境.cmex10とオプションを付けると,ビットマップフォントが組み込まれるのを防げるらしい.
  • \usepackage{algorithmic}
    アルゴリズムを書くためのalgorithmic環境を提供.今の自分の専門分野ではアルゴリズムを書くことはあんまりないですが,一度使ってみたいなぁ〜
    algorithmic.styのドキュメントと最新版は
    http://www.ctan.org/tex-archive/macros/latex/contrib/algorithms/
    に,サポートサイトは
    http://algorithms.berlios.de/index.html
    です.あと,より新しくてカスタムが可能なalgorithmicx.sty
    http://www.ctan.org/tex-archive/macros/latex/contrib/algorithmicx/
    もあるそうです.
  • \usepackage{array}
    LaTeX2eの標準的なarrayとtabular環境を改善して,よりよい見た目と出力の制御を実現するものらしいです.「標準での表の出力はひどいから,とりあえず入れとけ.」という感じで紹介されています.次から使おう・・・
    大抵のシステムにデフォルトでインストールされていますが,最新版は
    http://www.ctan.org/tex-archive/macros/latex/required/tools/
    で入手できます.
  • \usepackage{mdwmath}
    \usepackage{mdwtab}

    これらは Mark Wooding さんによるMDW tools の一部です.
    他にも色々なツールを提案されているようです.
    http://www.ctan.org/tex-archive/help/Catalogue/entries/mdwtools.html
    ざっと見た中ではsyntax.styのgrammer環境が目を引きます.

    (↑の図はドキュメントから抜粋したものです)
    こんな感じのコンピュータ言語の文法を記述できるようです.
    いつかは自分言語の文法を書くようなことをしてみたい・・・
  • \usepackage{eqparbox}
    自動的に同じ幅に調整されるボックスを実現するパッケージです.TeXで同じ幅の表を作ったりする作業は地味にめんどうですが,これを使えばスマート(?)に実現できます.
    他にも通常は揃えにくい場所の位置や長さを揃えることができそうです.単純な原理でありながら応用範囲の広い秀逸なパッケージですね.
    入手先はhttp://www.ctan.org/tex-archive/macros/latex/contrib/eqparbox/です.
  • \usepackage[caption=false]{caption}
    \usepackage[font=footnotesize]{subfig}
    subfig.styはsubfigure.styをより現代的にしたものらしいです.今までずっとsubfigure.styだったので次から使ってみます.もともとsubfigureを使いこなせてないので差はよくわかりませんが,従来の\subfigureに代えて\subfloatコマンドが提供されています.これは図だけでなく表にも適用できて,Figure 7(a)みたいにsubfigure を直接参照したり,図目次に subfigure の Caption を入れられたり, Caption の見た目を色々制御したりできるみたいです.
    ちなみにsubfig.styはcaption.styに依存していて自動で読み込みます.そのため IEEEtran.clsのcaption周りと衝突するらしく,IEEE用の原稿では上のような並びで使います.ダウンロードは
    http://www.ctan.org/tex-archive/macros/latex/contrib/subfig/
    から.
    ※ 日本語を使っているとき,タイトル等の書式設定がおかしくなる問題が発生する事があるようですが, caption.sty を最新版に置き換えることで解決するようです,
  • \usepackage{fixltx2e}
    LaTeX2e の問題点を修正するパッケージです.例えば,2つのカラムに及ぶ図と1カラムの図が混在したときに,それらの順序が入れ替わることがある問題とかが修正されるます.次から使ってみます・・・.最新版とドキュメントは
    http://www.ctan.org/tex-archive/macros/latex/base/
    から.
  • \usepackage{stfloats}
    二段組みの文書で二段使う図を,ページ下に配置することができるようになったりするパッケージです.float周りをごっそり書き換えるので他のパッケージと共存できないことが多いらしい・・・あんまり使う機会はないかも??
    ドキュメントと最新版は
    http://www.ctan.org/tex-archive/macros/latex/contrib/sttools/
    から.
  • \usepackage{endfloat}
    IEEEtran.cls を captionoff オプションで使うタイプの文書で便利らしい.今のところそういう流儀の雑誌と縁遠いかなぁ・・・必要な時が来たら調べます.最新版とドキュメントは
    http://www.ctan.org/tex-archive/macros/latex/contrib/endfloat/
    から.
  • \usepackage{url}
    URL をかしこく扱うためのスタイルファイルです.改行する場所とかも改善するらしい.これは結構使いますね.ほとんどの場合デフォルトで入ってますが,最新版は
    http://www.ctan.org/tex-archive/macros/latex/contrib/misc/
    から.
実は今までTeXファイルの受け渡し時のトラブルもあって,スタイルファイルを使うのを敬遠していたのですが,標準的に入っているのも多いみたいだし,今後はちょくちょく使うことにします.