TeX Alchemist Online

TeX を使って化学のお仕事をしています。

和文ゴーストとしての全角スペース

f:id:doraTeX:20160611003733p:plain

全角スペースは,プログラマやDTPerの間ではしばしば嫌われがちな存在です。TeX文書においても例外ではありません。TeXソース中に全角スペースが入り込んでいると思わぬ害をもたらすことが多く,基本的には避けた方がよい存在です。

ですが,TeXにおいて,珍しく全角スペースが大活躍する場面があります。それは(\kern-1zw と組み合わせることによる)和文ゴーストとしての用途です。例えば,ZRさんの BXglyphwiki パッケージ にその用例が見られます。

BXglyphwiki パッケージ を使うと,GlyphWiki に登録されているグリフの字形データをダウンロードして,その画像を1文字の和文文字であるかのように整形して出力してくれます。

このように,「和文1文字として使用するために画像や図形を出力したい」という状況においては,単に「ボックスの幅・高さ・ベースラインを他の和文文字と同じに揃えて出力する」というだけでは不十分です。なぜなら,TeXエンジンによって文字間に自動挿入されるべきグルーの問題があるからです。

(u)pTeX の場合,和文文字と和文文字が隣接した場合には \kanjiskip が,和文文字と欧文文字が隣接した場合には \xkanjiskip が自動挿入されます。しかし,自分で作成したボックスの場合,そのようなグルー挿入がなされないため,「和文1文字としての使用」という意図に反した組版結果が生まれてしまいます。

例えば, を四角で囲んだ ★⃞ という合成文字を作成し,これを和文1文字として出力したい状況を考えましょう。そのために,次のような命令 \squarestar を定義したとします。

【定義】

\def\squarestar{\begingroup
  \fboxsep=0pt
  \fboxrule=.5pt
  \framebox[1zw][c]{}%
  \endgroup}
続きを読む

pdfTeX による見開きPDFの結合・分割

先日の記事「既存PDFの最初数ページをローマ数字,残りをアラビア数字で,ページ番号を付け直す方法」で,「PDFを見開き 2in1 で並べたり,逆に裁断したりするために pdfTeX を使うこともできる」と述べました。

これについて,反響がありましたので,追加で解説しておくことにしましょう。

PDF加工ツールとしての pdfTeX の実力をとくとご覧ください。

【追記】後日,より良い方法を見つけましたので,改訂版記事を執筆しました。そちらの改良された方法をご利用ください。(本記事も,PDFのバウンディングボックス読み取り処理のサンプルコードおよび /Rotate 除去法のリンク集として残しておきます。)

目次

続きを読む

TeX Live 2016 で変わったところ

f:id:doraTeX:20160608131726j:plain

(Norbert Preining さんの記事 TeX Live 2016 released より)

TeX Live 2016 がリリースされて数日経ち,そろそろ世界各地のCTANミラーサイトにも波及してきたようです。

TeX Live 2016 における変更点は数多く,ここで挙げきることは困難(自分もとても全ては把握しきれていません)ですが,自分にとって身近な変更点を挙げておきます。

目次

続きを読む

MacTeX 2016 のインストール&日本語環境構築法 (El Capitan 以前/以後両対応)

f:id:doraTeX:20030806235338j:plain

(MacTeX 付属の mactex.jpg より)

数日前,とうとう TeX Live 2016 がリリースされました。TeX Live 2016 では,

  • LuaTeX で El Capitan 付属の新ヒラギノフォント(OTC形式)が使えるようになった
  • (x)dvipdfmx で \includegraphicspagebox= オプションが使えるようになった

など,一般ユーザにとってもメリットのある様々な改良がなされていますので,早速導入してみようと思っている人も多いことでしょう。

また,シーズン的に,大学に入学して心機一転,TeX を始めてみようという大学生の方も多いのではないでしょうか。

Mac 用の代表的な TeX Live ディストリビューションである MacTeX についても,新バージョン MacTeX 2016 がリリースされています。

個人的には MacTeX は使っていないのですが,日本にも MacTeX のユーザは多いようですので,MacTeX のインストール&日本語環境構築手順を解説しておきます。*1

El Capitan 以降の新ヒラギノ環境,Yosemite 以前の旧ヒラギノ環境の両方に対応しています。初心者でも分かるよう,かなり丁寧に手順を解説しておきますね。

目次

*1:ここに書いてある手順は MacTeX 2016 付属の README-ja.pdf に書いたものと同一です。ネット検索でも簡単に手順が発見できるよう,このブログにも書いておきます。

続きを読む

既存PDFの最初数ページをローマ数字,残りをアラビア数字で,ページ番号を付け直す方法 (pdfLaTeX + pdfpages + hyperref)

結城浩さん ( id:hyuki ) のお題「既存PDFの最初数ページをローマ数字,残りをアラビア数字で,ページ番号を付け直す」を,pdfLaTeX + pdfpages パッケージ + hyperref パッケージ で実現してみました。

snap.textfile.org

続きを読む

TikZ の current page と jsclasses との相性問題

日本で主流であろう,(u)pLaTeX + jsclasses + dvipdfmx のワークフローにおいて,TikZ の remember picture を使う際に発生する相性問題について,一つの解決策の提案です。

remember picture を dvipdfmx で使うには

TikZ 標準の dvipdfmx ドライバファイルでは,remember picture を用いた図形間結合(inter-picture connections)など,TikZ の一部の機能が使用できません。 しかし,次の記事でZRさんが作成された pxpgfmarkパッケージ を使うと,dvipdfmx でも remember picture を使用することが可能になります。

d.hatena.ne.jp

current page によるページ上の絶対配置

TikZ で remember picture を使うと,current page というノードが使えるようになります。例えば,ページの中央は (current page.center) のようにして取得することができます。

current page は,通常 overlay オプションと一緒に用いられ,「ページの背景に何かを書き込む」という用途に使われます。(正しく座標を取得するために2回コンパイルが必要です。)

使用例1:ページ中央にウォーターマークを入れる

% pLaTeX + pxpgfmark.sty + dvipdfmx
\documentclass[dvipdfmx,papersize]{jsarticle}
\usepackage{tikz}
\usepackage{pxpgfmark}
\usepackage{lipsum}
\begin{document}
\begin{tikzpicture}[remember picture, overlay]
\node[color=red!30!white,draw,line width=10pt,
rectangle,font=\gtfamily,scale=10,rotate=30]
 at (current page.center) {部外秘};
\end{tikzpicture}
\lipsum
\end{document}

f:id:doraTeX:20160322111227p:plain

続きを読む

☃ゆきだるまで素因数分解を可視化しよう!☃

この記事は TeX & LaTeX Advent Calendar 2015 の23日目の記事です。16日目に次いで2回目のエントリーとなります。 22日目はu_riboさんでした。 24日目はgolden_luckyさんです。

本記事では,ゆきだるま☃を用いて素因数分解を次のように可視化する方法を解説します。

f:id:doraTeX:20151223163106g:plain

目次

続きを読む

\mathchoice の闇

この記事は TeX & LaTeX Advent Calendar 2015 の16日目の記事です。 15日目はokomokさんでした。 17日目はあざらしさんです。

本記事では,LaTeX ユーザでも知っておくと役立つ TeX のプリミティブ \mathchoice の解説を行い,その使用上の注意点を取り上げます。

ちなみに,この記事中の画像は全て拙作の TeX2img で作成しています(ステマ)

目次

\mathchoice とは?

\mathchoice は,使用場所に応じて数式の出力のされ方を変えるために用いられるプリミティブです。4つの引数を伴って使います。

\mathchoice{ディスプレイ}{テキスト}{スクリプト}{スクリプトスクリプト}
続きを読む

鉄緑会東大物理問題集 今月発売!

今月,既刊の 鉄緑会東大問題集シリーズ に新たな科目が加わり,「鉄緑会 東大物理問題集」が刊行されます!

2016年度用 鉄緑会東大物理問題集 資料・問題篇/解答篇 2006‐2015

2016年度用 鉄緑会東大物理問題集 資料・問題篇/解答篇 2006‐2015

東大物理の過去問10年分を解説した書籍ですが,分析・解説を極めて詳細に記した結果,全600ページを超える大著となりました。

さて,本記事では,TeX組版的な側面から,この新刊の紹介をしようと思います。

まず,「東大化学問題集」のときと同様,Mac OS X + upLaTeX + dvipdfmx + jsarticle + ヒラギノ をベースとした組版環境で作成しています。

一方,既刊の東大問題集シリーズとの違いとしては,後発のメリットを活かして,デザインに TikZ を徹底活用したという点が挙げられます。例えば,次のページサンプルをご覧ください。

続きを読む

TeX界の El Capitan 迎撃戦記

Mac の新OSである OS X 10.11 El Capitan がリリースされて,1週間が経ちました。

El Capitan では,色々と仕様が大きく変わっており,TeX 環境は大きな影響を受けました。 TeX の開発者メーリングリストでは,El Capitan リリース前後のこの数週間,対応に追われていました。

「どのような問題があるのか」を洗い出し,その一つ一つに対して対応を考える必要があって,一筋縄ではゆきませんでしたが,ようやく全ての問題の解決に向けて道筋がつく状況まで至れました。解決に至るまでには TeX エンジン側の改修も必要になるなど,かなり大掛かりな作業になりましたが,北川さん,前田さん,Norbertさんをはじめ,TeX界の開発者の方々の多大なご尽力の結果,あらゆる問題を数日間で迅速に解決することができました。

TeX側の対応の速報は,id:acetaminophen さんの一連の記事にまとめられています。

  1. El Capitan がもうすぐ - アセトアミノフェンの気ままな日常
  2. El Capitan 出ました - アセトアミノフェンの気ままな日常
  3. TeX で OpenType Collection フォントを扱ってみると(その1) - アセトアミノフェンの気ままな日常
  4. TeX で OpenType Collection フォントを扱ってみると(その2) - アセトアミノフェンの気ままな日常
  5. TeX で OpenType Collection フォントを扱ってみると(その3) - アセトアミノフェンの気ままな日常
  6. LuaTeX で一部の TTC/OTC フォントが扱えない? - アセトアミノフェンの気ままな日常
  7. LuaTeX でなぜか使えない TTC/OTC フォントを無理やり埋め込む実験 - アセトアミノフェンの気ままな日常

ここでは,一通り解決の目処が立った現段階で,これまでの経緯を振り返り,改めて

  • どのような問題があったのか
  • 原因は何だったのか
  • TeX 側はどう対応したのか
  • ユーザはどう対処すればよいのか

をまとめておこうと思います。

手っ取り早く対処法が知りたい人は……

本記事の簡単な要約をご覧ください。

目次

続きを読む