メモ:latex
差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン前のリビジョン | 次のリビジョン両方とも次のリビジョン | ||
メモ:latex [2021/06/18 12:33] – Wiki Editor | メモ:latex [2021/10/06 09:49] – [表の行間の余白] Wiki Editor | ||
---|---|---|---|
行 193: | 行 193: | ||
* [[https:// | * [[https:// | ||
+ | |||
+ | |||
+ | ===== 丸囲み数字等のフォント ===== | ||
+ | Rmarkdownからxelatexを経由してPDFを作成する際に、丸囲み数字など(①)がフォント抜けで豆腐になっていたのを解決。問題は単純なフォント設定だったが、フォント設定は基本的に変えたくなかったので、いろいろ調査してわかったこと。 | ||
+ | |||
+ | xelatexはTTFフォントを直接指定することができる便利なtexなので、Rmarkdownからの出力はこれを利用している。この時、日本語を利用するために以下の設定をしている。ドキュメントクラスの読み込みでfontspecやzxjatypeはusepackageをしなくてもよいかもしれない。 | ||
+ | |||
+ | RmakdownのYAMLヘッダ(該当箇所のみ) | ||
+ | documentclass: | ||
+ | classoption: | ||
+ | header-includes: | ||
+ | # 欧文フォントの指定 | ||
+ | - \usepackage{fontspec} | ||
+ | - \setmainfont{Times New Roman} | ||
+ | - \setsansfont{Times New Roman} | ||
+ | # 和文フォントの指定 | ||
+ | - \usepackage{zxjatype} | ||
+ | - \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} | ||
+ | - \setCJKsansfont{IPAexGothic} | ||
+ | |||
+ | |||
+ | Texソースでは以下のように展開される。 | ||
+ | \documentclass[xelatex, | ||
+ | \setmainfont{Century} | ||
+ | \setsansfont{Century} | ||
+ | \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} | ||
+ | \setCJKsansfont{IPAexMincho} | ||
+ | |||
+ | 使っているフォントはともかくとして、以上の設定でだいたいスムーズにタイプセットしてPDFがうまく生成されていたのだが、丸囲み数字などがフォント抜けしてしまい、その都度丸囲み数字を生成するコードを挿入していた。文章を書いている場合には、自分で丸囲み数字を使う箇所を認識しているので問題はないが、アンケートの自由記述欄などテキストデータを読み込んで、一括して整形・出力するようなコードを書くと、どうしても入力された文字に混ざってしまう。逐一見つけて置換などをしても、気づかないフォント抜けなどが発生してしまうことがあり、いままで気づいた文字を置換リストに貯めていたが、非効率だしユニコードの世界では解決できるはずだと思い調査。 | ||
+ | |||
+ | 原因は非常に単純な点にあった。問題は、丸囲み数字の箇所が「欧文」として扱われており、Times New Romanにコードポイントに対応するフォントが用意されておらず、フォントが抜けてしまう様だった。試しに欧文フォントをIPAフォントに変えてみると、ごく普通に丸囲み数字もPDFで表示できる。丸囲み数字を入力するのが日本語IMEで変換するため、てっきり日本語の全角文字扱いだと思っていたが、かつてと異なりユニコードでは①はU+2460というコードポイントが割り当てられており、このコードが入力されている。そして、このコードがある範囲がxelatexでは欧文として扱われるため、欧文フォントの設定が適用されていたためにフォント抜けが発生していた。 | ||
+ | |||
+ | 単純な解決策は、欧文もすべて日本語フォントにすること。IPAex明朝などは、半角文字もきれいに出力できるので、これはこれでよい。しかし、どうしてお欧文には別フォントを利用したい場合、丸囲み数字の箇所だけフォント指定するとか、段落単位で逐一フォント指定するとか個別対応が必要となる。これでは、個別に置換するのと手間はあまり変わらない。そこで | ||
+ | |||
+ | |||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
メモ/latex.txt · 最終更新: 2022/01/25 10:16 by Wiki Editor