Rでレポートを書くとき、RMarkdownはとても便利ですよね。
特段の制限がないときは良いのですが、文字数や行数の指定をされると、調整が面倒と感じませんか?
そんなときにおすすめなのが、日本語組版に特化したLaTeXクラス「jlreq」です。
この記事では、実際に試した導入方法をまとめます。
jlreqとは
jlreq は、LaTeX向けの日本語文書クラスで、特に以下の点が優れています。
- 行数・文字数の指定が簡単
- 日本語として自然で美しい組版
- A4レポートや論文に最適
- 縦書き・横書き両対応
つまり一言でいうと、 「日本語レポートが簡単に作れる」クラスです。
RMarkdownでjlreqを使う方法
設定はとてもシンプルで、YAMLヘッダーでいつものdocumentclassから変更するだけです。
---
title: "レポート"
author: "著者名"
output:
pdf_document:
latex_engine: lualatex
keep_tex: true
documentclass: jlreq
---これだけでも十分美しいレポートになりますが、続けてclassoptionを設定していきます。
classoptionの設定
jlreqの強みは、classoptionで細かいレイアウト調整ができることですが、LaTeXとは少し違い、Rmarkdown特有の注意点があります。
例えば、次の方法でclassoptionを指定してみます。一見問題なさそうですが、実はエラーが発生します。
---
title: "レポート"
author: "著者名"
output:
pdf_document:
latex_engine: lualatex
keep_tex: true
documentclass: jlreq
classoption: line_length=40zw
---
原因:Pandocの自動エスケープ
Pandocは内部で記法を処理する際に、
line_length
のようなアンダーバーを
line\_length
に変換してしまいます。
その結果、LaTeX側で解釈できずコンパイルエラーになります。
解決方法:Raw LaTeXを使う
この問題は、Pandocに「そのまま渡せ」と指示すれば解決できます。
classoption: "`line_length=40zw`{=latex}"
- {=latex} を付けることでエスケープを回避
- LaTeXにそのまま渡る
まとめ
- jlreqはRMarkdownでも簡単に使える
- classoptionの「_」はエラーの原因になる
- Raw LaTeXで回避可能
実際に使ってみると、日本語組版に対応していることが一番メリットを感じやすいです。
特に、大学レポートや論文下書きなどにはかなりおすすめです。
この記事が少しでもお役に立てたら嬉しいです。

Amazonアフィリエイトでブログ運営しています。
応援いただけると嬉しいです。

ネスカフェ 香味焙煎 ひとときの贅沢 スティック ブラック 20P,箱,レギュラー ソリュブル コーヒー,個包装

AHMAD TEA(アーマッドティー) クラシックセレクション ティーバッグ 20袋

