ユーザ用ツール

サイト用ツール


メモ:latex

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン前のリビジョン
次のリビジョン
前のリビジョン
最新のリビジョン両方とも次のリビジョン
メモ:latex [2021/10/07 10:24] – [丸囲み数字等のフォント] Wiki Editorメモ:latex [2022/01/25 09:53] – [表の行間の余白] Wiki Editor
行 195: 行 195:
  
  
-===== 丸囲み数等のフォント ===== +===== 段落頭の下げ設定 ===== 
-Rmarkdownからxelatexを経由してPDFを作成する際に、丸囲み数など(①)がフォント抜けで豆腐になっていたの解決。問題は単純なフォント設定だったが、フォント設定は基本的に変えたくなかったので、いろいろ調査してわかったこと。 +段落頭の下げ量ントロールするとき\parindentを利用、和文ではプリアンブル書いても1文字分しか設定できなしたがて、実質的には0か1か設定ない。常識なかもしれないが、の場合段落頭の下げ1文字と相場まってるため、いくらプリアブルで設定してリセッれるようだ。\begin{document}で文字サイズ初期化されるためのようだ。以ジのFAQ記載されていた。
- +
-xelatexはTTFフォントを直接指定するがでる便利なtexなので、Rmarkdownからの出力はこれを利用してい。この時日本語を利用するために以下の設定をしている。ドキュメントクラスの読み込みでfontspecやzxjatypeはusepackageをしなくてもよいかもしれない。 +
- +
-RmakdownのYAMLヘッダ(該当箇所のみ) +
-  documentclass: bxjsarticle +
-  classoption: xelatex,ja=standard,base=10.5pt,jbase=10.5pt,a4paper +
-  header-includes: +
-    # 欧文フォントの指定 +
-    - \usepackage{fontspec} +
-    - \setmainfont{Times New Roman} +
-    - \setsansfont{Times New Roman} +
-    # 和文フォントの指定 +
-    - \usepackage{zxjatype} +
-    - \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} +
-    - \setCJKsansfont{IPAexGothic} +
- +
- +
-Texソースでは以下のよう展開される。 +
-  \documentclass[xelatex,ja=standard,base=10.5pt,jbase=10.5pt,a4paper]{bxjsarticle} +
-  \setmainfont{Century} +
-  \setsansfont{Century} +
-  \setCJKmainfont[BoldFont=IPAexGothic]{IPAexMincho} +
-  \setCJKsansfont{IPAexMincho} +
- +
-使っいるフォントはともかくとして、以上の設定でたいスムーズにタイプセットてPDFがうまく生成されていのだ、丸囲み数字などがフォント抜けししまいその都度丸囲み数字を生成するコードを挿入していた。文章を書いている場合には、自分で丸囲み数字を使う箇所を認識ているの問題はないが、アンケート自由記述欄などテキストデータを読み込んで、一括て整形・出力するようなコードを書くと、どうしても入力さた文字に混ざってしまう。逐一見つけて置換などをしても、気づかないフォント抜けなど発生してしまうことがありいままで気づいた文字を置換リストに貯めていたが、非効率だしユニコードの世界で解決できるはずだと思い調査。 +
- +
-原因は非常に単純な点にあった。問題は、丸囲み数の箇所が「欧文」して扱われており、Times New Romanにコードポイントに対応するフォント用意されておらず、フォントが抜けてしう様だた。試しに欧文フォントをIPAフォントに変えみると、ごく普通に丸囲み数字もPDFで表示できる。丸囲み数字を入力するのが日本語IMEで変換するため、てっきり日本語の全角文字扱だと思っていたが、かつてと異なりユニコードでは①はU+2460というコードポイトが割り当てられており、このコードが入力されている。そして、このコードがある範囲がxelatexは欧文として扱われるため、欧文フォントの設定が適用されていたためにフォント抜けが発生していた。 +
- +
-単純な解決策は欧文もすべて日本語フォンにすること。IPAex明朝などは、半角文字もきいに出力できので、これはこれでい。しかし、どしてお欧文には別フォントを利用したい場合、丸囲み数字の箇所けフォント指定するとか、段落単位で逐一フォント指定するとか個別対応が必要となるこれでは、個別に置換するのと手間はあまり変わらない。そこで以下を参考に設定を追加。 +
- +
- +
-  * [[http://zrbabbler.sp.land.to/zxjatype.html]] +
-  * [[https://texwiki.texjp.org/?xeCJK]] +
-  * [[https://ftp.kddilabs.jp/CTAN/macros/xetex/latex/xecjk/xeCJK.pdf]] +
-  * [[https://suzusime-log.hatenablog.jp/entry/2017/04/15/210327]] +
- +
-  \xeCJKDeclareSubCJKBlock{kigou}{"20A0 -> "2BFF} +
- +
-上記のように、xeCJKパッケージの\xeCJKDeclareSubCJKBlock、和として扱うコードの範囲を指定してやる。単純に和文として扱うだけなら、上記のように必要な個所のコードを指定すれば、全体で設定している和文フォント利用される。「kana」は識別名なで何でもよい。範囲の指定は、コードポイントでも、コードポイントに対応する文字でも指定できるようだ。また、必要に応じてここで指定したブロックだけ別フォントを割り当てることも可能。<del>ここでは横着して、とりあえずASCII文字+αドポイントはすべて和文と指定して丸囲み数字等をすべて日本語フォントしてしまうが、もう少し丁寧に設定する方が望ましいだろう。</del>範囲指定の際は、Unicodeのブロック表などを参照するとよい。 +
- +
-\xeCJKDeclareSubCJKBlockでASCII以外のほぼすべてのコードポイントを指定していたが、やはり横着したのはよくなかった。詳細は調べていないが、ここで指定されたブロックは、文字送りや禁則処理のルールが別扱いになるようで、「。」が行頭に出しまったりと、美し組版にあらない。ということで、記号が入っているブロックに絞って指定する。とりあえず「"20A0 -> "2BFF」の範囲としが、様子を見て微調整するとりあえず丸囲み数字の範囲は抑えているので、当面は問題ないはず。 +
- +
-  * [[https://ja.wikipedia.org/wiki/Unicode#%E3%83%96%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AE%E4%B8%80%E8%A6%A7]] +
- +
- +
- +
  
 +  * [[https://oku.edu.mie-u.ac.jp/~okumura/jsclasses/]]
  
 +ここにも記載されているように、字下げ量を任意に設定したい場合は\begin{document}以降に設定する必要がある。
メモ/latex.txt · 最終更新: 2022/01/25 10:16 by Wiki Editor

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki