TexStudioとSumatraPDFで快適Texライフ!
Ver2:2017年1月(やりたくない作業をサボるため)
そこそこ閲覧数があるようなので写真を追加しました。
Ver3:2018年8月
注意書きとLatexmkの項を追加
- 注意書き
- 記事の要点
- TexStudioを使おう
- TexStudioの基本設定
- SumatraPDF と連携しよう
- PDFをダブルクリックしてTexファイルの該当箇所へ移動(inverse search)
- 規定のビューワーの代わりにSumatraPDFを使う
- inverse searchなどの連携 がうまくいかない人のためのチェックリスト
- 結論
注意書き
本記事はWindows環境で最も簡単と思われるTex環境構築法を紹介していますが,用途や目的に寄っては必要ないかもしれません。
- 最新版ディストリビューションにアクセスしたい方(そこそこ詳しい人) → TexLiveがオススメ
- 簡単にTexを使ってレポートをかいてみたい。(超初心者) → インストール不要のオンラインエディタから試してもいいかも
記事の要点
- TexStudioを使おう
- SumatraPDFのinverse searchで快適texライフを!
- その際のよくある間違いをメモしました
TexStudioを使おう
TexStudioは高機能かつカッコイイtexエディタです。
TexStudioをおすすめする理由
- 図をドラッグアンドドロップで貼れる。表などもGUIで貼れたりと初学者に優しい。
- コマンドの補完がデフォルトで強い。
- レイアウトがかっこ良く見やすく,作業が捗る。
とりあえず公式サイトからダウンロードして
以下の記事のようにセットアップしましょう。(記事終了)
TeXstudio/設定/Windows - TeX Wiki
2018年3月追記:設定ファイルを追加しました。
以下のプロファイルをDLすることで多くの箇所の設定をスキップできます。
gsviewなどのバージョン等の番号には気を使う必要がありますが。
TexStudioの基本設定
右上の[オプション]→[TexStudioの設定]を押して次のような画面を出しましょう。
まずは,左下の「高度なオプションの表示」というところをチェックしてください。
ここではまず
主に左メニューの「コマンド」と「ビルド」をカスタマイズします。
「コマンド」のメインの設定箇所は黄色で引いたようになります。
☆が必須項目,◯は追加項目です。
「ビルド」では以下の通り。
必須項目は最上部だけです。
最低限の必須項目
上で出した2つの図の☆の所に該当します。
「コマンド」メニュー
- オプション→Texstudioの設定→コマンド→「PdfLatex」の項目を「C:\w32tex\bin\pdflatex.exe -synctex=1 -interaction=nonstopmode %.tex」に変更
「ビルド」メニュー
- オプション→Texstudioの設定→ビルド→「ビルド&表示」の項目を「txs:///dvi-pdf-chain」に変更
フォント,表示関係
テーマやフォントについては以下の2つを主にやればいいです。
「一般」設定
「エディタ」設定
その他にも「詳細なエディタ設定」を開いたり,
- オプション→Texstudioの設定→「高度なオプションの表示」にチェック(左下)→詳細なエディタ設定→ハック/回避策→「最適なディスプレイオプションの自動選択」をオフ→「描画モード」を「Qt」に
「構文の強調表示」のところで
- コメントアウトに中線をかぶせるように変更
などしておくと見やすいでしょう。
SumatraPDF と連携しよう
SumatraPDFはフリーのPDF閲覧ソフトです。
Texとの連携においてよく使われます。
Download Sumatra PDF - a free reader
PDFの更新を逐次表示に反映できること,次に述べるinverse searchという機能を使えるおかげで選ばれているようです。
PDFをダブルクリックしてTexファイルの該当箇所へ移動(inverse search)
最も使いやすいと思われるのがこの機能。
PDFで「ここを直したいな」とい所をダブルクリックすればすぐにTexファイルの該当箇所へ飛んでくれます。
設定方法
インストールの後,SumatraPDFを開きます。
左上の 設定→オプション→逆順検索コマンドラインの欄に以下のように記述しましょう。
"C:\Program Files (x86)\TeXstudio\texstudio.exe" "%f" -line %l
texstudioで「ファイル名」という名のファイルの「L行目」を開けというコマンドになってますね。
Pathがあっているかきちんと確認しましょう。
これを使うことによってPDFをダブルクリックすることで該当するTexの行に飛ぶことができます。
はかどりますね。
設定のところに逆順検索コマンドラインがない?
バージョンに依ってはデフォルトで表示しないようになっていることもあるようです。
その場合は「詳細設定」を開いて出るtxtファイルに「EnableTeXEnhancements」という項目があればそれをtrueにして,
なければそのまま以下の文を追加してください。
EnableTeXEnhancements = true
その後,以下のような文章を追加すれば完了です。
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がダイレクトで表示されるようになります。
Latexmkを用いた自動コンパイル(追記)
Latexmkを用いることでソースの変更を自動で検知してコンパイルさせることができます。
Windowsの場合はまずはPerl環境(StrawberryPerlなど)をインストールします。
[Perl] オススメ「Strawberry Perl」を使ってみよう!! | マリンロード
以下の様な.latexmkrcというファイルをhomeか作業ディレクトリに入れた後,
「latexmk -pvc hoge.tex」のようにhogeというtexファイルを監視するコマンドを実行します。
$latex = 'platex -kanji=utf8 --shell-escape -halt-on-error -guess-input-enc -synctex=1 -interaction=nonstopmode %S'; $latex_silent = 'platex -kanji=utf8 -halt-on-error -guess-input-enc -synctex=1 -interaction=batchmode %S'; $dvipdf = 'dvipdfmx %O -o %D %S'; $bibtex = 'pbibtex -kanji=utf8 %B'; $makeindex = 'mendex %O -o %D %S'; $max_repeat = 5; $pdf_mode = 3; # prevent latexmk from removing PDF after typeset, #$pvc_view_file_via_temporary = 0; if (-f 'C:/Program Files/SumatraPDF/SumatraPDF.exe') { $pdf_previewer = '"C:/Program Files/SumatraPDF/SumatraPDF.exe" -reuse-instance'; } elsif (-f 'C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe') { $pdf_previewer = '"C:/Program Files (x86)/SumatraPDF/SumatraPDF.exe" -reuse-instance'; } else { $pdf_previewer = '"C://Program Files (x86)//Adobe//Reader 11.0// Reader//AcroRd32.exe" /n %S'; }
inverse searchなどの連携 がうまくいかない人のためのチェックリスト
texstudioのPathはあっているか?
間違った場所を指定していれば当然動きません。コマンドラインにコピペしてみて動作を確認するのもありですね。
SumatraPDFに逆順検索のコマンド書く欄がない!
設定→詳細設定を開いて出てくるテキストを見てください。
「 EnableTeXEnhancements = false 」という記述があった場合,「 EnableTeXEnhancements = true 」と書きなおしてください。