RStudioを用いてRmdファイルから日本語PDFを作成する際に、ドキュメントクラスをbxjsarticleと設定すると、次のようなエラーが出てPDFファイルが作成されない。
エラーは、subtitleコマンドが二重に定義されているために起こっているようだ。
! LaTeX Error: Command \subtitle already defined.
Or name \end... illegal, see p.192 of the manual.
See the LaTeX manual or LaTeX Companion for explanation.
Type H for immediate help.
...
l.61 }
pandoc: Error producing PDF from TeX source
エラー: pandoc document conversion failed with error 43
実行が停止されました
ここではその解決策の一つとして、subtitleコマンドに別の名前を付けて、このエラーを回避する方法をお伝えする。
環境は次の通り。
OS | Ubuntu 16.04 |
---|---|
R | 3.3 |
実際の作業は次の通り。
# ディレクトリの移動
$ cd ~/R/x86_64-pc-linux-gnu-library/3.3/rmarkdown/rmd/latex
# バックアップ
$ cp default-1.15.2.tex default-1.15.2.tex.bk
# ファイルの編集
$ vim default-1.15.2.tex
default-1.15.2.texファイルの「subtitle」という文字列を別の名前に置換する。
ここでは「subtitleorigin」という名前にすることにする。
また、ここではvimでファイルを開いたが、別のエディタで開いて「subtitle」という文字列を置換しても問題ない。
vimでファイルを開いた場合は、ノーマルモードで次のコマンドを実行すれば、ファイル内の「subtitle」文字列が「subtitleorigin」文字列に一括置換される。
:%s /subtitle/subtitleorigin/g
vimで保存して終了する場合は、ノーマルモードで次のコマンド実行すれば良い。
:wq
以上で、準備が整った。
あとは、Rmdファイルで今まで「subtitle」としていたところを新らたな名前である「subtitleorigin」とすればよい。
---
title: "タイトル"
subtitleorigin: "サブタイトル"
author: "著者"
date: "2016年7月27日"
output:
pdf_document:
latex_engine: xelatex
documentclass: bxjsarticle
classoption: xelatex,ja=standard
geometry: no
---
これを実行すると次のようになる。
R,knitPDF bxjsarticleを用いた際にサブタイトルでエラーが出る場合の対処法