読者です 読者をやめる 読者になる 読者になる

TeX Alchemist Online

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

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

TeX TikZ

日本で主流であろう,(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

続きを読む

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

TikZ TeX 数学

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

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

f:id:doraTeX:20151223163106g:plain

目次

続きを読む

\mathchoice の闇

TeX TikZ

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

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

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

目次

\mathchoice とは?

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

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

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

TikZ TeX

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

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

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

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

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

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

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

続きを読む

TeX界の El Capitan 迎撃戦記

TeX フォント

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 側はどう対応したのか
  • ユーザはどう対処すればよいのか

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

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

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

目次

続きを読む

美文書第6版のTeX環境(Mac)を完全にアンインストールする方法

TeX

[改訂第6版] LaTeX2ε美文書作成入門

[改訂第6版] LaTeX2ε美文書作成入門

[改訂第6版] LaTeX2ε 美文書作成入門 の付属DVDには,TeX Live 2013 をベースにした TeX 環境をインストールするための独自のインストーラが収録されています。 Mac版については,当初は MacTeX 2013 を収録する予定でしたが,MacTeX はデフォルトでは日本語設定がなされないのに加え,インストールの仕方の“行儀”が悪いという難点がありました。例えば,インストールした Ghostscript に関連する多数の実行ファイルが /usr/local/bin にばらまかれ,Homebrew など他の方法でインストールしたバイナリと混じってしまって,アンインストールが困難になってしまいます。 そこで,美文書第6版では,MacTeX を収録するという方針を転換し,TeX Live 2013 をベースとした「行儀の良い」「日本語対応も完璧な」インストーラを独自に作成するという方針をとることになりました。

美文書第6版付属のMac用 TeX Live インストーラは,デフォルトでは,TeX Live / Ghostscript に関連するファイルを(OS X の流儀に従い)/Applications/TeXLive に封じ込めてインストールします。MacTeX と異なり,/usr といったシステムのディレクトリをいじることはありません。ですので,アンインストールしたければ /Applications/TeXLive を削除するだけでよく,アンインストールが容易です。

ただし,厳密には,/Applications/TeXLive を削除するだけではいくつかの残骸が残ってしまいます。基本的には残っていても実害のないファイルばかりですが,「跡形なく完全にアンインストールしたい」という場合のために,「完全なアンインストール法」を示しておきましょう。

続きを読む

Swift を使ってPDFのナントカBoxの情報を取得する

PDF

ここしばらく,PDFのナントカBoxをめぐって進歩が相次いでいます。

doratex.hatenablog.jp

acetaminophen.hatenablog.com

acetaminophen.hatenablog.com

d.hatena.ne.jp

d.hatena.ne.jp

d.hatena.ne.jp

d.hatena.ne.jp

d.hatena.ne.jp

最近の特に大きな技術進歩は,来年の TeX Live 2016 からは (x)dvipdfmx で \includegraphics の pagebox= オプションが使えるようになる という点です。

さて,今日は(TeX とは直接の関係はありませんが)それと関連して,Swift プログラミングの話題です。 前掲の「dvipdfmx で複数ページPDF/AIファイルを \includegraphics する」の記事で紹介した pdfinfo を使えば,PDFのナントカBoxの詳細な情報を取得することが可能です。 これと同じ機能を Swift で実装してみました。

続きを読む

TeX Live 2015 の \extrafloats の問題点とその回避法

TeX

TeX Live 2015 では,LaTeX カーネルに大きな変更が色々ありました。

\stepcounter 時の孫カウンタ以下も含めた再帰的な下位カウンタリセットなどは,一般ユーザにも恩恵が大きい変化です。

日本語の記事では,ZRさんによって色々な解説記事が執筆されています。

この中の「LaTeX が新しくなった話(補足2)」に,「新しい LaTeX カーネルと etex パッケージが非互換」という話があります。これと関連して,次のような問題が存在することに気づきました。

続きを読む

Overleaf で日本語を使用する方法

TeX TikZ

Overleaf(旧writeLaTeX) は,オンラインで使える LaTeX 原稿執筆環境として非常に便利です。自分のマシン内に TeX 環境を構築するのは一手間二手間かかりますし,インストールする権限がない場合や,出先の端末を使う場合などにも,環境整備の必要なくブラウザのみですぐに LaTeX 原稿を執筆できるのは好都合でしょう。

また,Google Document のような複数人による共同編集機能もあります。複数人で環境を揃えて同時共同執筆を行うことができるのは,クラウドならではのメリットでしょう。

自分が愛用しているのは,「ソースとコンパイル結果のセットを閲覧専用で提示する」機能です。「このソースをコンパイルするとこんな結果になりますよ」というのを見やすく示すことができます。

Overleaf による TikZ の展示例

自分はこの機能を,TikZ のソース例を示すのによく用いています。

Overleaf で日本語を使用する

Overleaf は,現時点ではバックグラウンドで TeX Live 2014 が動いています。ということは,(u)pLaTeX や dvipdfmx も入っているわけで,日本語を用いた和文文書も作れるはずです。 ただし,Overleaf はデフォルトでは海外で主流の pdfLaTeX を使う設定になっているので,和文文書を作成するには多少設定が必要です。

公式のヘルプに Overleaf で pTeX を使う方法 の解説があるのですが,この方法では pLaTeX + dvipdf (≒ dvips + gs)という変換経路になります。日本で現在主流であろう,(u)pLaTeX + dvipdfmx の経路で作成するには,次のように設定する必要があります。

続きを読む

Mac環境でPDFのページ数をカウントする9(+1)通りの手法

PDF TeX

id:acetaminophen さんが,Windows環境でPDFのページ数をカウントするバッチファイルを,様々な手法で実装する試みをなされています。

d.hatena.ne.jp

d.hatena.ne.jp

そこで,Mac環境についても,コマンドラインからPDFのページ数をカウントする様々な手法をまとめておこうと思います。

目次

続きを読む