読者です 読者をやめる 読者になる 読者になる

粗大メモ置き場

個人用,たまーに来訪者を意識する雑記メモ

TexStudioとSumatraPDFで快適Texライフ!

メモ メモ-tex

2017年1月(やりたくない作業をサボるため)
そこそこ閲覧数があるようなので写真を追加しました。

記事の要点

  • TexStudioを使おう
  • SumatraPDFのinverse searchで快適texライフを!
  • その際のよくある間違いをメモしました

TexStudioを使おう

TexStudioは高機能かつカッコイイtexエディタです。
f:id:ossyaritoori:20160211125304p:plain

TexStudioをおすすめする理由

  • 図をドラッグアンドドロップで貼れる。表などもGUIで貼れたりと初学者に優しい。
  • コマンドの補完がデフォルトで強い。
  • レイアウトがかっこ良く見やすく,作業が捗る。

とりあえず公式サイトからダウンロードして
以下の記事のようにセットアップしましょう。(記事終了)
TeXstudio/設定/Windows - TeX Wiki


TexStudioの基本設定

pLatexコンパイルするための設定について解説します。

右上の[オプション]→[TexStudioの設定]を押して次のような画面を出しましょう。

f:id:ossyaritoori:20160630173716p:plain
まずは,左下の「高度なオプションの表示」というところをチェックしてください。

ここではまず
主に左メニューの「コマンド」と「ビルド」をカスタマイズします。

「コマンド」のメインの設定箇所は黄色で引いたようになります。
f:id:ossyaritoori:20170129014416p:plain
☆が必須項目,◯は追加項目です。

「ビルド」では以下の通り。
f:id:ossyaritoori:20170129015323p:plain
必須項目は最上部だけです。

最低限の必須項目

上で出した2つの図の☆の所に該当します。

「コマンド」メニュー

  • オプション→Texstudioの設定→コマンド→「LaTex」の項目を「platex.exe -synctex=1 -interaction=nonstopmode %.tex」に変更
  • オプション→Texstudioの設定→コマンド→「PdfLatex」の項目を「C:\w32tex\bin\pdflatex.exe -synctex=1 -interaction=nonstopmode %.tex」に変更

「ビルド」メニュー

  • オプション→Texstudioの設定→ビルド→「ビルド&表示」の項目を「txs:///dvi-pdf-chain」に変更

追加でやっておくこと

上記の◯印の部分をやっておくのがおすすめです。
主に,

  • pbibtex を用いた参考文献の管理
  • SumatraPDFを用いたtexとPDFの連携

が目的です。

フォント,表示関係

テーマやフォントについては以下の2つを主にやればいいです。
「一般」設定
f:id:ossyaritoori:20170129015716p:plain
「エディタ」設定
f:id:ossyaritoori:20170129020042p:plain

その他にも「詳細なエディタ設定」を開いたり,

  • オプション→Texstudioの設定→「高度なオプションの表示」にチェック(左下)→詳細なエディタ設定→ハック/回避策→「最適なディスプレイオプションの自動選択」をオフ→「描画モード」を「Qt」に

「構文の強調表示」のところで

などしておくと見やすいでしょう。

SumatraPDF と連携しよう

SumatraPDFはフリーのPDF閲覧ソフトです。
Texとの連携においてよく使われます。
Download Sumatra PDF - a free reader

PDFの更新を逐次表示に反映できること,次に述べるinverse searchという機能を使えるおかげで選ばれているようです。

最も使いやすいと思われるのがこの機能。
PDFで「ここを直したいな」とい所をダブルクリックすればすぐにTexファイルの該当箇所へ飛んでくれます。

設定方法

インストールの後,SumatraPDFを開きます。
左上の 設定→オプション→逆順検索コマンドラインの欄に以下のように記述しましょう。

"C:\Program Files (x86)\TeXstudio\texstudio.exe" "%f" -line %l

f:id:ossyaritoori:20160630173754p:plain
texstudioで「ファイル名」という名のファイルの「L行目」を開けというコマンドになってますね。
Pathがあっているかきちんと確認しましょう。

これを使うことによってPDFをダブルクリックすることで該当するTexの行に飛ぶことができます。
はかどりますね。

設定のところに逆順検索コマンドラインがない?

バージョンに依ってはデフォルトで表示しないようになっていることもあるようです。

その場合は「詳細設定」を開いて出るtxtファイルに

InverseSearchCmdLine = "C:\Program Files (x86)\TeXstudio\Texstudio.exe" "%f" -line %l

以下の様な文を追加しましょう。

規定のビューワーの代わりにSumatraPDFを使う

SumatraPDFを使うと内部のビューワーは正直邪魔なので

  • コマンド→外部PDFビューワーに「"c:/Program Files/SumatraPDF/SumatraPDF.exe" -reuse-instance %.pdf」と記述。
  • ビルド→PDFビューワー のところを「txs:///view-pdf-external」に変更。

こうすることでSumatraPDFをデフォルトで使うことができます。
あ,もちろんPathには注意してください。

コンパイル後に編集している部分を自動的に表示

さらにforward searchというのもあって

先ほどの外部PDFビューワーに
「"C:\Program Files\SumatraPDF\SumatraPDF.exe" -reuse-instance -inverse-search """"C:\Program Files (x86)\TeXstudio\texstudio.exe""" """%%f""" -line %%l" "?am.pdf" -forward-search "?c:am.tex" @」
と呪文を唱えることで,コンパイル時にカーソルのある行のPDFがダイレクトで表示されるようになります。

inverse searchなどの連携 がうまくいかない人のためのチェックリスト

texstudioのPathはあっているか?

間違った場所を指定していれば当然動きません。コマンドラインにコピペしてみて動作を確認するのもありですね。

SumatraPDFに逆順検索のコマンド書く欄がない!

設定→詳細設定を開いて出てくるテキストを見てください。
「 EnableTeXEnhancements = false 」という記述があった場合,「 EnableTeXEnhancements = true 」と書きなおしてください。

hoge.synctex」ファイルが存在するか?

SyncTexというのはPDFとTex間の連携を取るためのファイルです。
このファイルが生成されていない場合は
オプション→Texstudioの設定→コマンド→「LaTex」の項目が「platex.exe -synctex=-1 -interaction=nonstopmode %.tex」となっているか確認してください。
それでもダメならSyncTexを一から入れ直す必要があります。
僕はこれで一回ハマってしまいました。

結論

総括として,この記事は個人的メモなのでわかりにくいかと思います。
最後のチェックリストはちょっぴり親切かも?ってくらい。

最悪,後半のsumatraPDFを無視して美しさだけを目当てにTexStudioを使ってみてくれればいいです。
あと,latexmkを使ってtex文の変更を自動で検知してバックグラウンドでコンパイルなんてのもありますが
その辺はまた今度紹介する気になったら紹介します。

私的メモが誰かの役に立つかもしれないことを願って。。。