VS CodeでTeXを使う方法

VS Code(Visual Studio Code)でTeXを編集・コンパイルする方法が調べてもなかなか出てこなかったので、記事にしておきます。

AtomTeXを編集するのが便利だよーって聞いたので、AtomでできることがVS Codeでできない訳がないと思ってやってみた次第です。)

VS Codeの拡張機能である「LaTeX Workshop」を利用しています。

以下、設定の手順です。

0. VS Code (LaTeX Workshop)を使うメリット

  • .texファイルを保存時に自動タイプセット
  • コードのカラーハイライト
  • 括弧やコマンドの補完
  • ショートカットによるコードのコメントアウトコメントアウト解除
  • chktexを用いた構文チェック(要設定)
  • 別タブでのコンパイル後のpdfの表示

1. TeXディストリビューションのインストール

まずはTeXディストーションをインストールします。多分なんでもいいです。インストールは結構時間がかかります。
(筆者はTeXLive 2016を利用)

有名なTeXディストリビューションはここに書いております。

TeX入手法 - TeX Wiki

なお、Windowsの場合インストール場所がパスに追加されている必要があります。

通常は自動的にパスに追加されているはずですが、もし追加されていない場合は自分で追加する必要があります。

(参考:Windows10で環境変数Pathの編集方法 | 非IT企業に勤める中年サラリーマンのIT日記

2. LaTeX Workshop(拡張機能)のインストール

VS Codeの拡張機能をインストールします。VS Code内のMarketplaceからインストールすれば大丈夫です。

f:id:elecho:20170429133512p:plain

marketplace.visualstudio.com

3. (オプション)LaTeX Language Support(拡張機能)のインストール

カラーハイライトや補完などの様々な便利な機能が使えるようになります。VS Code内のMarketplaceからインストールすれば大丈夫です。別にインストールしなくても問題ありません。

f:id:elecho:20170429133530p:plain

marketplace.visualstudio.com

4. LaTeX Workshopの設定

タイプセットの設定

デフォルトではタイプセットとしてlatexmkを用いる設定になっています。
しかし、このままでは日本語横書き用の文書クラスであるjarticlejreportを使用することができません。そこで、タイプセットに使うためのツールをptex2pdfに変更します。

まず、Ctrl+,(カンマ)でVS Codeの設定画面を開きます。そして、右側の枠に以下の設定を追加・保存します。

"latex-workshop.latex.toolchain": [{
    "command": "ptex2pdf",
    "args": [
        "-l",
        "-ot",
        "-kanji=utf8 -synctex=1",
        "%DOC%"
    ]
}],

(この設定は、Tex WorksのpLaTeX (ptex2pdf)タイプセットの設定に準拠しています。)

chktexの設定(オプション)

.texファイルを編集する際に構文チェックを利用するための設定です。

タイプセットの設定と同様に、Ctrl+,(カンマ)でVS Codeの設定画面を開き、右側の枠に以下のコードを追加・保存します。

"latex-workshop.chktex.enabled": true

f:id:elecho:20170429133816p:plain

5. LaTeX Workshopの使い方

基本的には、保存時に自動的にコンパイルしてくれます。特に必要な操作はありません。
ただし、いくつか注意しておくと良い点はあります。

pdfファイルを表示する方法

現状、セーブ時に自動でタイプセットは行ってくれますが、自動でpdfは表示してくれません。そのため、pdfを表示させるには一手間掛ける必要があります。

VS Code内で新しいタブで表示させる場合
「Ctrl + L」、「Ctrl + T」を順にタイプ
ブラウザで表示させる場合
「Ctrl + L」、「Ctrl + V」を順にタイプ

また、愚直に表示させることもできます。

手順

  1. texファイル内で「右クリック」→「All actions」をクリック
    (もしくは「Ctrl + L」→「Ctrl + A」をタイプ)
  2. VS Code のコマンドパレットで「View PDF file in web page」もしくは「View PDF file in new tab」を選択

タイプセットが成功したかどうか確認する方法

VS Codeで編集する場合、ログが自動では表示されません(もちろん表示させることもできます)。

そこで、手っ取り早く確認する方法があります。

タイプセットが成功した場合
VS Codeのウインドウの左下に以下のように表示されます。 f:id:elecho:20170427174506p:plain
と表示されてから…
f:id:elecho:20170427174515p:plain
と表示されます。
タイプセットが失敗した場合
f:id:elecho:20170427174515p:plain
と表示されたままになります。
ログやコンソールを開けばどこでどのようなエラーが起こっているか確認できます。

(豆知識)

TeXのタイプセットは通常TeX Worksなどのエディタを使いますが、実はシェルやコマンドプロンプトからも実行できます。

上の設定の"command"に当たる部分が使用タイプセットプログラム、"arg"がコマンドライン引数を表しています。

また、"%DOC%“はtexファイル名を表しています。

参考文献:

TeXworks/設定 - TeX Wiki

TeXworks/設定/Windows - TeX Wiki

成績集計ツール「みんなのせいせき」の機能・仕様の解説

先日、学科でテストの成績を集計・順位付けするためのツールを作りました。

私の所属する学科(電気系)では日頃の授業の成績が卒論配属に関係するため、みんな自分の現在位置を知れると便利だろうなと思ったのが作った理由です。
(というのはあくまでも理由の半分で、残り半分は単純にどんな点数分布になっているのか興味があったからです(笑))

「みんなのせいせき」のリンクはこちら:(ベーシック認証がかけてあるため学科の人しか成績の登録・閲覧に進むことができません)

https://eeic-scores.herokuapp.com/

ソースコード (GitHub) はこちら(まだ整理が間に合っておらず汚いです):

https://github.com/elecho1/score_competing_tool

以下、今更感満載ですが「みんなのせいせき」の機能・構成を解説してみたいと思います。

機能の概要

続きを読む

TeX Live(2016)のls-Rの作成を止める方法

 TeX Liveでは、デフォルトの設定ではls-Rというファイルを用いてパッケージやフォント場所の一覧を管理しています。ただし、

  • パッケージやスタイルファイルを追加するたびに
mktexlsr

  コマンドを用いてls-Rの一覧表を更新する必要がある。

  • ls-Rファイル内では日本語ファイル名が文字化けする。

というようなデメリットがあります。

 ls-Rを使うメリットはパッケージの検索時間を短くするためと言われていますが、ハードディスクの速度が上がった今ではls-Rを使う必要性もなくなってきています。

 ということで、ls-Rの作成・利用を止めてみることにしました。

デフォルト設定が書かれている場所

C:\texlive\2016\texmf-dist\web2c\texmf.cnf  

を見てみると、(97行目あたり)

% TEXMFLOCAL precedes TEXMFDIST because locally-installed versions
% should take precedence over distribution files -- although it is
% generally a source of confusion to have different versions of a
% package installed, whatever the trees, so try to avoid it.
TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,!!$TEXMFSYSCONFIG,!!$TEXMFSYSVAR,!!$TEXMFLOCAL,!!$TEXMFDIST}

と書かれています。

 この!!$TEXMFSYSCONFIG!!$TEXMFSYSVAR!!がls-Rを使うということを意味しています。
 つまり、この!!を消せばls-Rを使わない運用に切り替えることができます。ただし、\texmf-dist内のファイルはTeX Liveをアップデートすると書き換わってしまうので、以下のファイルを書き換えます。

設定を変更する場所

C:\texlive\2016\texmf.cnf

内のtexmf.cnfにユーザー自身の設定を書き加えます。

今回は、!!を消した

TEXMF = {$TEXMFCONFIG,$TEXMFVAR,$TEXMFHOME,$TEXMFSYSCONFIG,$TEXMFSYSVAR,$TEXMFLOCAL,$TEXMFDIST}

をファイルの末尾に書き加えます。

こうすれば、ls-Rを用いないパッケージの利用ができるようになります。

TeXworksにテンプレートとスクリプトを追加する方法(Windows)

(追記 17/1/27) TeXworksにおいてスクリプトファイルなどが保存される場所は予め決まっているようです。この場所をどのように変更するか分からないので、ご存じの方はお知らせいただけると幸いです。


まず、デフォルトの設定でのテンプレートやスクリプト・各種設定のファイルの保存場所は以下のようになっています。

TeXworksのテンプレート・スクリプトの場所(TeX Liveの場合)

 C:\texliveにインストールした場合、 テンプレートは

C:\(ユーザー名)\.texlive2016\texmf-config\texworks\templates\

に、スクリプトは、

C:\(ユーザー名)\.texlive2016\texmf-config\texworks\scripts\

に置かれています。

TeXworksのテンプレート・スクリプトの場所(W32TeXの場合)

 C:\w32texにインストールした場合、(おそらく) テンプレートは

C:\w32tex\share\texworks\twdata\templates\

に、スクリプトは、

C:\w32tex\share\texworks\twdata\scripts\

に置かれています。
(ただし、このフォルダがどのTEXMFツリーに属しているかは分からないです…)

続きを読む

TeXのいろいろな設定(個人用メモ)

TeXの変数多重TEXMFツリーのパスの調べ方

コマンドプロンプトで、

kpsewhich -var-value TEXMFLOCAL

と打つとパスが出力される。
TEXMFLOCALのかわりにTEXMFMAINTEXMFHOMETEXMFDISTなどが調べられる)

なお、直接これらの変数が定義されているファイルは、

C:\texlive\2016\texmf-dist\web2c\texmf.cnf   

である。

ユーザーがこの設定を書き換える際は、

C:\texlive\2016\texmf.cnf

に設定を書き加えます。

(このことは、texmf-dis内のtexmf.cnf内に記載されています。)

% If you modify this original file, YOUR CHANGES WILL BE LOST when it is
% updated.  Instead, put your changes -- and only your > changes, not an
% entire copy! -- in ../../texmf.cnf.  That is, if this file is
% installed in /some/path/to/texlive/2016/texmf-dist/web2c/texmf.cnf,
% add your custom settings to /some/path/to/texlive/2016/texmf.cnf.

ブログ始めました

あけましておめでとうございます。

年初ということでブログ始めてみました。

よろしくお願いいたします。