日本語のlatex 幸せになる - github pages日本語のlatexで 幸せになる...

49
日本語の L A T E X 幸せになる …かもしれない 方法 山下 弘展 2018 11 10 T E XConf 2018

Upload: others

Post on 09-Aug-2020

14 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

日本語のLATEXで

幸せになる…かもしれない

方法

山下 弘展

2018年 11月 10日

TEXConf 2018

Page 2: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

「日本語のLATEX」?

Page 3: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

https://twitter.com/doraTeX/status/994941507730784257

Page 4: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

pLATEX・upLATEXユーザに贈る最新ベストプラクティス集

山下弘展

2018年11月10日TEXConf 2018

Page 5: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

Section 1

日本語の組版

Page 6: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

1. 日本語の組版

変なしがらみに悩まされる前に…I モダンな jlreqクラスを使おう

I beamerなどを使う場合➡minijsあるいはOTFを併用(ちょっと変な詰まりから解放されます)

Page 7: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

1. 日本語の組版

変なしがらみに悩まされる前に…I モダンな jlreqクラスを使おうI beamerなどを使う場合➡minijsあるいはOTFを併用(ちょっと変な詰まりから解放されます)

Page 8: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

Section 2

日本語フォント

Page 9: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

2. 日本語フォント

好きなフォントを使いたい…I まずはpxchfonをチェック(比較的メジャー?なフォントなら簡単)

使えるフォントを増やしたい…I \usepackage[deluxe]{otf}(フォントさえ揃えれば最大7書体化)

Page 10: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

2. 日本語フォント

好きなフォントを使いたい…I まずはpxchfonをチェック(比較的メジャー?なフォントなら簡単)

使えるフォントを増やしたい…I \usepackage[deluxe]{otf}(フォントさえ揃えれば最大7書体化)

Page 11: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

Section 3

有力なパッケージの利用

Page 12: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

これが意外と大変

…でした(ごく最近までは)

Page 13: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

これが意外と大変…でした(ごく最近までは)

Page 14: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例1(従来の対処法)

とあるパッケージを読み込んだらI OTFパッケージで文字化けしましたI ゴシック体になりませんI \Largeなどが効かなくなりました

もしこんな警告が出ていたらLaTeX Warning: Command \selectfont has changed.

Check if current package is valid.

…それはeveryselが原因で,pxeveryselを使えば解決します。

Page 15: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例1(従来の対処法)

とあるパッケージを読み込んだらI OTFパッケージで文字化けしましたI ゴシック体になりませんI \Largeなどが効かなくなりました

もしこんな警告が出ていたらLaTeX Warning: Command \selectfont has changed.

Check if current package is valid.

…それはeveryselが原因で,pxeveryselを使えば解決します。

Page 16: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例2(従来の対処法)

plextパッケージを読み込んだら表(tabular環境)で謎のエラー! Missing # inserted in alignment preamble.

が出ました

多分それはarrayパッケージより後にplextパッケージを読み込んだからでしょう。plextは早めに \usepackageしましょう。或いは,plextarrayを代わりに使いましょう。

Page 17: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例2(従来の対処法)

plextパッケージを読み込んだら表(tabular環境)で謎のエラー! Missing # inserted in alignment preamble.

が出ました

多分それはarrayパッケージより後にplextパッケージを読み込んだからでしょう。plextは早めに \usepackageしましょう。或いは,plextarrayを代わりに使いましょう。

Page 18: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例3(従来の対処法)

plextパッケージと破線(arydshlnパッケージ)が同時に使えません! Undefined control sequence.\adl@@cr ...tempdima \xdef \adl@rowsL {\adl@rowsL

(\adl@colsL...

plextarydshlnを使いましょう。

Page 19: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例3(従来の対処法)

plextパッケージと破線(arydshlnパッケージ)が同時に使えません! Undefined control sequence.\adl@@cr ...tempdima \xdef \adl@rowsL {\adl@rowsL

(\adl@colsL...

plextarydshlnを使いましょう。

Page 20: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例4(従来の対処法)

縦書きでTikZを使おうとしたら! Incompatible direction list can't be unboxed.

が出ました

それはeveryshiパッケージが縦組非対応だからです。pxeveryshiを使いましょう。

Page 21: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例4(従来の対処法)

縦書きでTikZを使おうとしたら! Incompatible direction list can't be unboxed.

が出ました

それはeveryshiパッケージが縦組非対応だからです。pxeveryshiを使いましょう。

Page 22: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例5(従来の対処法)

縦書きでatbegshiを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

それはatbegshiパッケージが縦組非対応だからです。pxatbegshiを使いましょう。

Page 23: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例5(従来の対処法)

縦書きでatbegshiを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

それはatbegshiパッケージが縦組非対応だからです。pxatbegshiを使いましょう。

Page 24: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例6(従来の対処法)

縦書きで ftnrightを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

それは ftnrightパッケージが縦組非対応だからです。pxftnrightを使いましょう。ただし,これはftnrightより前に読み込む必要があります。

Page 25: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例6(従来の対処法)

縦書きで ftnrightを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

それは ftnrightパッケージが縦組非対応だからです。pxftnrightを使いましょう。ただし,これはftnrightより前に読み込む必要があります。

Page 26: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

まとめ(従来の対処法)左:pLATEX・upLATEXでうまくいかないパッケージ,右:対策パッチ

I tracefnt→ ptrace/uptraceI fltrace→ pfltraceI array→ plarrayI array + plext→ plextarrayI delarray + plext→ plextdelarrayI colortbl + plext→ plextcolortblI arydshln→ plarydshlnI arydshln + plext→ plextarydshlnI siunitx→ plsiunitxI everysel→ pxeverysel(先に読んだ方が安全)I everyshi→ pxeveryshiI atbegshi→ pxatbegshiI ftnright→ pxftnright(必ず先に読む)I pdfpages→ pxpdfpagesI pgfrcs (TikZ/PGF)→ pxpgfrcsI pgfcore (TikZ/PGF)→ pxpgfmark

左辺が別のパッケージによって \RequirePackageされる場合もあります。同様に注意しましょう。

Page 27: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

まとめ(従来の対処法)左:pLATEX・upLATEXでうまくいかないパッケージ,右:対策パッチ

I tracefnt→ ptrace/uptraceI fltrace→ pfltraceI array→ plarrayI array + plext→ plextarrayI delarray + plext→ plextdelarrayI colortbl + plext→ plextcolortblI arydshln→ plarydshlnI arydshln + plext→ plextarydshlnI siunitx→ plsiunitxI everysel→ pxeverysel(先に読んだ方が安全)I everyshi→ pxeveryshiI atbegshi→ pxatbegshiI ftnright→ pxftnright(必ず先に読む)I pdfpages→ pxpdfpagesI pgfrcs (TikZ/PGF)→ pxpgfrcsI pgfcore (TikZ/PGF)→ pxpgfmark

左辺が別のパッケージによって \RequirePackageされる場合もあります。同様に注意しましょう。

Page 28: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

こんなの覚えられないよ

Page 29: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

そこで

Page 30: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

作りました

plautopatchパッケージ

Page 31: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

plautopatchとは左:pLATEX・upLATEXでうまくいかないパッケージ,右:対策パッチ

I tracefnt→ ptrace/uptraceI fltrace→ pfltraceI array→ plarrayI array + plext→ plextarrayI delarray + plext→ plextdelarrayI colortbl + plext→ plextcolortblI arydshln→ plarydshlnI arydshln + plext→ plextarydshlnI siunitx→ plsiunitxI everysel→ pxeverysel(先に読んだ方が安全)I everyshi→ pxeveryshiI atbegshi→ pxatbegshiI ftnright→ pxftnright(必ず先に読む)I pdfpages→ pxpdfpagesI pgfrcs (TikZ/PGF)→ pxpgfrcsI pgfcore (TikZ/PGF)→ pxpgfmark

左辺が別のパッケージによって \RequirePackageされる場合もあります。同様に注意しましょう。

plautopatch

が全部面倒を

見ます

Page 32: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

plautopatchとは左:pLATEX・upLATEXでうまくいかないパッケージ,右:対策パッチ

I tracefnt→ ptrace/uptraceI fltrace→ pfltraceI array→ plarrayI array + plext→ plextarrayI delarray + plext→ plextdelarrayI colortbl + plext→ plextcolortblI arydshln→ plarydshlnI arydshln + plext→ plextarydshlnI siunitx→ plsiunitxI everysel→ pxeverysel(先に読んだ方が安全)I everyshi→ pxeveryshiI atbegshi→ pxatbegshiI ftnright→ pxftnright(必ず先に読む)I pdfpages→ pxpdfpagesI pgfrcs (TikZ/PGF)→ pxpgfrcsI pgfcore (TikZ/PGF)→ pxpgfmark

左辺が別のパッケージによって \RequirePackageされる場合もあります。同様に注意しましょう。

plautopatch

が全部面倒を

見ます

Page 33: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

3. 有力なパッケージの利用

つまり

pLATEX・upLATEXで何かパッケージを使って変になったら➡とりあえずソースの冒頭で

\RequirePackage{plautopatch}してみましょう

Page 34: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

めでたしめでたし

Page 35: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

おさらい

Page 36: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例1(新対処法)

とあるパッケージを読み込んだらI OTFパッケージで文字化けしましたI ゴシック体になりませんI \Largeなどが効かなくなりました

plautopatchを使いましょう

Page 37: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例1(新対処法)

とあるパッケージを読み込んだらI OTFパッケージで文字化けしましたI ゴシック体になりませんI \Largeなどが効かなくなりました

plautopatchを使いましょう

Page 38: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例2(新対処法)

plextパッケージを読み込んだら表(tabular環境)で謎のエラー! Missing # inserted in alignment preamble.

が出ました

plautopatchを使いましょう

Page 39: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例2(新対処法)

plextパッケージを読み込んだら表(tabular環境)で謎のエラー! Missing # inserted in alignment preamble.

が出ました

plautopatchを使いましょう

Page 40: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例3(新対処法)

plextパッケージと破線(arydshlnパッケージ)が同時に使えません! Undefined control sequence.\adl@@cr ...tempdima \xdef \adl@rowsL {\adl@rowsL

(\adl@colsL...

plautopatchを使いましょう

Page 41: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例3(新対処法)

plextパッケージと破線(arydshlnパッケージ)が同時に使えません! Undefined control sequence.\adl@@cr ...tempdima \xdef \adl@rowsL {\adl@rowsL

(\adl@colsL...

plautopatchを使いましょう

Page 42: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例4(新対処法)

縦書きでTikZを使おうとしたら! Incompatible direction list can't be unboxed.

が出ました

plautopatchを使いましょう

Page 43: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例4(新対処法)

縦書きでTikZを使おうとしたら! Incompatible direction list can't be unboxed.

が出ました

plautopatchを使いましょう

Page 44: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例5(新対処法)

縦書きでatbegshiを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

plautopatchを使いましょう

Page 45: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例5(新対処法)

縦書きでatbegshiを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

plautopatchを使いましょう

Page 46: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例6(新対処法)

縦書きで ftnrightを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

plautopatchを使いましょう

Page 47: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

症例6(新対処法)

縦書きで ftnrightを使おうとしたらやっぱり! Incompatible direction list can't be unboxed.

が出ました

plautopatchを使いましょう

Page 48: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

今日のまとめ

1. 日本語の組版モダンな jlreqクラスを使おうそれ以外ならminijs又はOTF

2. 日本語フォントまずはpxchfonをチェック

3. 有力なパッケージの利用とりあえずplautopatch

Page 49: 日本語のLATEX 幸せになる - GitHub Pages日本語のLATEXで 幸せになる …かもしれない 方法 山下弘展 2018年11月10日 TEXConf2018 pLATEX・upLATEXユーザに贈る

おしまい