はじめに
Markdown 記法のエディターである Zettlr を使用して文書作成しようと思ったのですが、
LaTeX を使用した PDF 出力の日本語対応に苦労したので備忘録として記載します。
使用していた環境(Zettlr, MikTeX)は、以下の通りです。
それぞれ、ログインしているユーザ限定でのデフォルトでインストールしました。
OS | Windows 11 Pro 23H2 | |
Zettlr | v3.1.1 | https://www.zettlr.com/download |
MikTeX | v24.1 | https://miktex.org/download |
IPA ex フォント | v004.01 | https://moji.or.jp/ipafont/ipafontdownload/ |
メモ
Zettlr → pandoc(Zettlr内蔵)→ LaTeX → PDF という流れで変換されるようです。
Tutorial の PDF Export
上記のソフトをインストール完了後に Zettlr を起動すると、「Zettlr Tutorial」という
ワークスペースが開かれている状態になっています。
左側の Citing with Zettlr を選択し、LaTeX を使用した PDF 出力を先ずは行いましょう。
XeLaTeX PDF の出力設定ダイアログ
このダイアログを開くのにも少し時間を要したため、少し詳しく記載します。
不要な方は、この章を読み飛ばしていただいても大丈夫です。
Zettlr エディタで CTRL + ,(カンマ)を入力すると、Preferences 設定画面が表示されます。
左側の Import and Export タブを選択し、Open export profiles editor ボタンを押下します。
アセットマネージャが開くので、左側の XeLaTeX PDF を選択して設定ファイルを開きます。
メモ
デフォルトでインストールした場合、
C:\Users\<user>\AppData\Roaming\Zettlr\defaults\XeLaTeX PDF.yaml
を開いていることになります。
日本語出力に必要な設定
EPUBs(電子書籍フォーマット)
yaml ファイルのルートに、以下を追加します。
1 2 3 4 5 |
epub-subdirectory: EPUB epub-fonts: - Times New Roman.ttf - MS Mincho.ttf |
Variables(メタデータに関する変数)
主に LaTeX に関する設定を行います。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
variables: # ドキュメントクラス documentclass: bxjsarticle classoption: - pandoc - jafont=ms papersize: a4paper # フォント関係 fontsize: 10pt CJKmainfont: ipaexm.ttf mainfont: "Times New Roman" sansfont: "Times New Roman" # 以下はお好みで indent: true header-includes: - \renewcommand{\thesection}{第\arabic{section}章} - \renewcommand{\thesubsection}{\arabic{section}-\arabic{subsection}} - \renewcommand{\thesubsubsection}{\arabic{section}-\arabic{subsection}-\arabic{subsubsection}} chaptersDepth: 2 titlepage: true geometry: margin=2cm |
Metadata(メタデータ)
表や図のタイトルを設定します。
1 2 3 4 5 6 7 8 9 10 |
metadata: figureTitle: "図 " tableTitle: "表 " listingTitle: "コード " figPrefix: "図." eqnPrefix: "式." tblPrefix: "表." lstPrefix: "コード." chapDelim: "-" |
Number Sections(表番号の表示)
まともな文書作成用の設定です。
h1~h3へ章番号の付与が不要な場合は、デフォルトの false のままで問題ありません。
1 2 |
number-sections: true |
トラブルシューティング
章番号が 0.1 や 0.1.1 のように表示される
デフォルトの設定ファイルのままだと、「1.○○」のように表示されるべきところ、
「0.1.○○」と一つ繰り下がった章番号が付与されてしまいます。
以下のように、「shift-heading-level-by」の値を変更します。
1 2 |
shift-heading-level-by: 0 |
スポンサーリンク
まとめ
以下が現在使用している XeLaTeX PDF.yaml ファイルの内容です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# ZETTLR DEFAULTS FILE # ==================== # Conversion: Markdown --> PDF (requires TeX suite to be installed) # More info: https://pandoc.org/MANUAL.html reader: markdown writer: pdf self-contained: true epub-subdirectory: EPUB epub-fonts: - Times New Roman.ttf - MS Mincho.ttf variables: fontsize: 10pt documentclass: bxjsarticle classoption: - pandoc - jafont=ms CJKmainfont: ipaexm.ttf mainfont: "Times New Roman" sansfont: "Times New Roman" indent: true # header-includes: # - \renewcommand{\thesection}{第\arabic{section}章} # - \renewcommand{\thesubsection}{\arabic{section}-\arabic{subsection}} # - \renewcommand{\thesubsubsection}{\arabic{section}-\arabic{subsection}-\arabic{subsubsection}} chaptersDepth: 2 titlepage: true papersize: a4paper geometry: margin=2cm metadata-files: [] metadata: figureTitle: "図 " tableTitle: "表 " listingTitle: "コード " figPrefix: "図." eqnPrefix: "式." tblPrefix: "表." lstPrefix: "コード." chapDelim: "-" include-before-body: [] include-after-body: [] include-in-header: [] bibliography: [] reference-links: true reference-location: document filters: - type: citeproc top-level-division: default pdf-engine: xelatex # Change this if you want to use a different engine, e.g. pdflatex dpi: 72 toc: false # Include a table of contents? toc-depth: 2 # 2 means to only include headings level 1 and 2 in the ToC number-sections: true number-offset: - 0 - 0 - 0 - 0 - 0 - 0 shift-heading-level-by: 0 section-divs: true identifier-prefix: '' title-prefix: '' eol: lf strip-comments: false indented-code-classes: [] ascii: false default-image-extension: .jpg highlight-style: pygments tab-stop: 4 preserve-tabs: false fail-if-warnings: false |
お試しください。