LaTeX
rust
Pandoc
XeLaTeX

The Rust Programming Language 日本語訳をe-bookにしてみるのをもうちょっと頑張ってみた

More than 1 year has passed since last update.

はじめに

この記事は前回の記事の続編です。
「スタイルファイルが欧文スタイルの流用なので、日本語にした時のページレイアウトに多少違和感がある」の改善になります。

日本人向けなら日本人向けのクラスファイルを使いたい

前回の記事でLaTeXソース→PDFファイルの作成に使った条件は、以下のようになっています。

  • エンジン: XeTeX(XeLaTeX)
  • LaTeXクラスファイル: book

XeTeXは多言語対応のTeXエンジンなので、日本語をうまい事扱う事ができますが、当然(u)pTeXには劣ります。
bookクラスファイルは本を作る感じのPDFを出力してくれるクラスファイルなのですが、これはかなり欧米寄りのスタイルです。
日本向けの本のスタイルを出力する場合における最近のトレンドはもっぱら奥村先生のjsbookなのですが、これは(u)pLaTeX専用のスタイルファイルで、XeLaTeXでは使えません。

エンジンの方を変えるという手もありはしましたが、さすがにそこまで踏み込むとアレ(TeXはアレ的な意味で)なので、今回はBXjscls中のbxjsbookを使わせてもらう事にしました。ZR大先輩に感謝。

環境設定(前回からの差分)

前回の設定ではBXjsclsがTeX環境に入っていないので、それを入れます。

$ sudo tlmgr install collection-langjapanese

作業

例によってtrpl_meta.ymlを書き換えます。

trpl_meta.yml.diff
 author: "The Rust Team"
 date: {release_date}
 description: "This book will teach you about the Rust Programming Language. Rust is a modern systems programming language focusing on safety and speed. It accomplishes these goals by being memory safe without using garbage collection."
-language: en
-documentclass: book
+language: ja
+documentclass: bxjsbook
+classoption: [xelatex, ja=standard]
 links-as-notes: true
 verbatim-in-note: true

classoptionはbxjsbookに渡すオプションです。ここに書いておけば内部でPandocがよしなにしてくれます。

あとは前回と同様にビルドするだけです。

$ rm dist/*
$ cargo run --release

出力サンプル

目次

trpl-ja-index.png

コード部分

trpl-ja-vector.png

一部のフォントやスタイルが変わっていたり、ヘッダ等に日本語が使われるようになっています。
やはりbookよりこちらの方がしっくり来ますね(※個人の感想です)。

課題

一部ページ幅をぶっちぎっている(主にverb環境)事への修正が必要。