質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
LaTeX

LaTeXは、レスリー・ランポートが開発したテキストベースの文書整形システムです。 電子製版ソフトウェアである「TeX」にマクロパッケージを組み込む形で構成されており、 通常のTeXより扱いやすくなっているのが特徴です。

解決済

LaTex環境構築においてlatexmkのエラー

dotuuuuuun
dotuuuuuun

総合スコア1

LaTeX

LaTeXは、レスリー・ランポートが開発したテキストベースの文書整形システムです。 電子製版ソフトウェアである「TeX」にマクロパッケージを組み込む形で構成されており、 通常のTeXより扱いやすくなっているのが特徴です。

2回答

0評価

0クリップ

2600閲覧

投稿2021/01/27 14:26

編集2021/01/28 09:28

問題

LaTexの環境構築を
VSCode で LaTeX を書く (2018)
などを参考にしているが、latexmkをコマンドプロンプトで実行したとき、エラーが出力される。

追記(21-01-28)
platex + dvipdfmx を手動で行ったときにはpdfビルドできるが、VScodeのコマンドからlatexmkでビルドしようと文字化けしうまくいかない。

###環境

  • Windows 10 Home
  • Latexmk, John Collins, 26 Dec. 2019. Version 4.67

発生している問題・エラーメッセージ (更新:21-01-28)

VScodeのコマンドでpdfをビルドしようとすると文字化けがおこり、.dviファイルの生成に失敗する。

Rc files read: C:/Users/Username/.latexmkrc Latexmk: This is Latexmk, John Collins, 29 September 2020, version: 4.70b. Latexmk: Removing all generated files Rule 'latex': The following rules & subrules became out-of-date: 'latex' ------------ Run number 1 of rule 'latex' ------------ ------------ Running ''platex' '-kanji=utf8 -no-guess-input-env' -synctex=1 -interaction=nonstopmode -file-line-error -recorder "c:\Users\Username\Documents\code\example.tex"' ------------ Latexmk: applying rule 'latex'... ''platex'' �́A�����R�}���h�܂��͊O���R�}���h�A ����”\�ȃv���O�����܂��̓o�b�` �t�@�C���Ƃ��ĔF������Ă��܂���B Latexmk: fls file doesn't appear to have been made. Failure to make 'example.dvi' Needed source file 'example.pdf' does not exist. Latexmk: Errors, in force_mode: so I tried finishing targets For rule 'view', running '&if_source( )' ... Collected error summary (may duplicate other messages): latex: Command for 'latex' gave return code 1 Refer to 'example.log' for details view: Command for 'view' gave return code -1 ---------------------- This message may duplicate earlier message. Latexmk: Failure in processing file 'c:/Users/Username/Documents/code/example': *LaTeX didn't generate the expected log file 'example.log' ---------------------- C:\texlive\2020\bin\win32\runscript.tlu:915: command failed with exit code 12: perl.exe c:\texlive\2020\texmf-dist\scripts\latexmk\latexmk.pl -f -gg -pv -latex='platex' "-latexoption='-kanji=utf8 -no-guess-input-env'" -synctex=1 -interaction=nonstopmode -file-line-error c:/Users/Username/Documents/code/example

試したこと

  • TexLiveの再インストール
  • TexLiveのtlmgrによるアップデート

setting.jsonと.latexmkrcの中身はVSCode で LaTeX を書く (2018)
のとおりですが、一応掲載します。

###.latexmkrc
ホームディレクトリに以下の中身のファイルを置いています。

通常の LaTeX ドキュメントのビルドコマンド

$latex = 'uplatex %O -kanji=utf8 -no-guess-input-enc -synctex=1 -interaction=nonstopmode %S';

pdfLaTeX のビルドコマンド

$pdflatex = 'pdflatex %O -synctex=1 -interaction=nonstopmode %S';

LuaLaTeX のビルドコマンド

追記(2019/06/02): @skytomo221 さんの指摘に基づき修正

$lualatex = 'lualatex %O -synctex=1 -interaction=nonstopmode %S';

XeLaTeX のビルドコマンド

$xelatex = 'xelatex %O -no-pdf -synctex=1 -shell-escape -interaction=nonstopmode %S';

Biber, BibTeX のビルドコマンド

$biber = 'biber %O --bblencoding=utf8 -u -U --output_safechars %B';
$bibtex = 'upbibtex %O %B';

makeindex のビルドコマンド

$makeindex = 'upmendex %O -o %D %S';

dvipdf のビルドコマンド

$dvipdf = 'dvipdfmx %O -o %D %S';

dvipd のビルドコマンド

$dvips = 'dvips %O -z -f %S | convbkmk -u > %D';
$ps2pdf = 'ps2pdf.exe %O %S %D';

PDF の作成方法を指定するオプション

$pdf_mode = 0; PDF を作成しません。

$pdf_mode = 1; $pdflatex を利用して PDF を作成します。

$pdf_mode = 2; $ps2pdf を利用して .ps ファイルから PDF を作成します。

$pdf_mode = 3; $dvipdf を利用して .dvi ファイルから PDF を作成します。

$pdf_mode = 4; $lualatex を利用して .dvi ファイルから PDF を作成します。

$pdf_mode = 5; xdvipdfmx を利用して .xdv ファイルから PDF を作成します。

$pdf_mode = 3;

PDF ビュアーの設定 for Windows

Windows では SyncTeX が利用できる SumatraPDF が推奨されている。

SumatraPDF: https://www.sumatrapdfreader.org/free-pdf-reader.html

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 {
# SumatraPDF が存在しない場合は、TeXworks で開くように設定されている。
# 別のアプリケーション(Adobe Reader 等)で開きたい場合はここに実行ファイルのパスを設定する
$pdf_previewer = 'texworks';
}

#setting.json (VScode)

{
// editor.wordSeparators: 単語単位での移動を行う場合の区切り文字を指定
// 日本語文書で単語移動を使うため、助詞や読点、括弧を区切り文字として指定する
"editor.wordSeparators": "./()"'-:,.;<>!@#$%^&*|+=[]{}`? 、。「」【】『』()!?てにをはがのともへでや",
// 設定: LaTeX Workshop
// LaTeX Workshop ではビルド設定を「Tool」と「Recipe」という2つで考える
// Tool: 実行される1つのコマンド。コマンド (command) と引数 (args) で構成される
// Recipe: Tool の組み合わわせを定義する。Tool の組み合わせ (tools) で構成される。
// tools の中で利用される Tool は "latex-workshop.latex.tools" で定義されている必要がある。
latex-workshop.latex.tools: Tool の定義
"latex-workshop.latex.tools": [
// latexmk を利用した xelatex によるビルドコマンド
{
"name": "Latexmk (XeLaTeX)",
"command": "latexmk",
"args": [
"-f",
"-gg",
"-pv",
"-xelatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
// latexmk を利用した uplatex によるビルドコマンド
{
"name": "Latexmk (upLaTeX)",
"command": "latexmk",
"args": [
"-f",
"-gg",
"-pv",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
// latexmk を利用した platex によるビルドコマンド
// 古い LaTeX のテンプレートを使いまわしている (ドキュメントクラスが jreport や jsreport ) 場合のため
{
"name": "Latexmk (pLaTeX)",
"command": "latexmk",
"args": [
"-f",
"-gg",
"-pv",
"-latex='platex'",
"-latexoption='-kanji=utf8 -no-guess-input-env'",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
},
// latexmk を利用した lualatex によるビルドコマンド
{
"name": "Latexmk (LuaLaTeX)",
"command": "latexmk",
"args": [
"-f",
"-gg",
"-pv",
"-lualatex",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
]
}
],
// latex-workshop.latex.recipes: Recipe の定義
"latex-workshop.latex.recipes": [
// XeLaTeX で書かれた文書のビルドレシピ
{
"name": "XeLaTeX",
"tools": [
"Latexmk (XeLaTeX)"
]
},
// LaTeX(upLaTeX) で書かれた文書のビルドレシピ
{
"name": "upLaTeX",
"tools": [
"Latexmk (upLaTeX)"
]
},
// LaTeX(pLaTeX) で書かれた文書のビルドレシピ
{
"name": "pLaTeX",
"tools": [
"Latexmk (pLaTeX)"
]
},
// LuaLaTeX で書かれた文書のビルドレシピ
{
"name": "LuaLaTeX",
"tools": [
"Latexmk (LuaLaTeX)"
]
}
],
// latex-workshop.latex.magic.args: マジックコメント付きの LaTeX ドキュメントをビルドする設定
// '%!TEX' で始まる行はマジックコメントと呼ばれ、LaTeX のビルド時にビルドプログラムに解釈され、
// プログラムの挙動を制御する事ができる。
// 参考リンク: https://blog.miz-ar.info/2016/11/magic-comments-in-tex/
"latex-workshop.latex.magic.args": [
"-f",
"-gg",
"-pv",
"-synctex=1",
"-interaction=nonstopmode",
"-file-line-error",
"%DOC%"
],
// latex-workshop.latex.clean.fileTypes: クリーンアップ時に削除されるファイルの拡張子
// LaTeX 文書はビルド時に一時ファイルとしていくつかのファイルを生成するが、最終的に必要となるのは
// PDF ファイルのみである場合などが多い。また、LaTeX のビルド時に失敗した場合、失敗時に生成された
// 一時ファイルの影響で、修正後のビルドに失敗してしまう事がよくある。そのため、一時的なファイルを
// 削除する機能 (クリーンアップ) が LaTeX Workshop には備わっている。
"latex-workshop.latex.clean.fileTypes": [
".aux",
"
.bbl",
".blg",
"
.idx",
".ind",
"
.lof",
".lot",
"
.out",
".toc",
"
.acn",
".acr",
"
.alg",
".glg",
"
.glo",
".gls",
"
.ist",
".fls",
"
.log",
".fdb_latexmk",
"
.synctex.gz",
// for Beamer files
"_minted*",
".nav",
"
.snm",
"*.vrb",
],
// latex-workshop.view.pdf.viewer: PDF ビューアの開き方
// VSCode 自体には PDF ファイルを閲覧する機能が備わっていないが、
// LaTeX Workshop にはその機能が備わっている。
// "tab" オプションを指定すると、今開いているエディタを左右に分割し、右側に生成されたPDFを表示するようにしてくれる
// この PDF ビュアーは LaTeX のビルドによって更新されると同期して内容を更新してくれる。
"latex-workshop.view.pdf.viewer": "tab",
// latex-workshop.latex.autoClean.run: ビルド失敗時に一時ファイルのクリーンアップを行うかどうか
// 上記説明にもあったように、ビルド失敗時に生成された一時ファイルが悪影響を及ぼす事があるため、自動で
// クリーンアップがかかるようにしておく。
"latex-workshop.latex.autoClean.run": "onFailed",
// latex-workshop.latex.autoBuild.run: .tex ファイルの保存時に自動的にビルドを行うかどうか
// LaTeX ファイルは .tex ファイルを変更後にビルドしないと、PDF ファイル上に変更結果が反映されないため、
// .tex ファイルの保存と同時に自動的にビルドを実行する設定があるが、文書が大きくなるに連れてビルドにも
// 時間がかかってしまい、ビルドプログラムの負荷がエディタに影響するため、無効化しておく。
"latex-workshop.latex.autoBuild.run": "never",
"editor.fontLigatures": null,
}

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

LaTeX

LaTeXは、レスリー・ランポートが開発したテキストベースの文書整形システムです。 電子製版ソフトウェアである「TeX」にマクロパッケージを組み込む形で構成されており、 通常のTeXより扱いやすくなっているのが特徴です。