TeX Alchemist Online

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

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

[改訂第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のナントカ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 Live 2015 では,LaTeX カーネルに大きな変更が色々ありました。

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

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

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

続きを読む

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

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)通りの手法

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

d.hatena.ne.jp

d.hatena.ne.jp

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

目次

続きを読む

「ことばのおもみ」の自動測定

展示「ことばのおもみ」

現在,六本木の東京ミッドタウンで開催中の「単位展」が,面白いと評判のようです。

企画展「単位展 — あれくらい それくらい どれくらい?」

会期:2015年2月20日(金) - 2015年5月31日(日)

休館日:火曜日(5月5日は開館)

開館時間:11:00 - 20:00(入場は19:30まで)

主催:21_21 DESIGN SIGHT、公益財団法人 三宅一生デザイン文化財団

後援:文化庁、経済産業省、港区教育委員会

その中で,「ことばのおもみ」という展示があり,文字の「おもさ」を比較する体験ができるそうです。

使用フォントによる違い

しかし,これに対して使用フォントによって「おもさ」が違うのではないかという疑義も呈されています。

XeLaTeX + TeX2img + ImageJ による「おもさ」測定

そこで,XeLaTeX + TeX2img + 画像解析ツールImageJ の組み合わせによって,使用フォントの違いによる「おもさ」の違いを分析してみようという試みが,次の記事においてなされました。

acetaminophen.hatenablog.com

「ことばのおもみ」測定の自動化

この試みをさらに発展させ,フォントと「ことば」を与えれば,自動的に「ことばのおもみ」(黒いピクセルの個数や率)を測定してくれるRubyスクリプトを作ってみました。

Gist:「ことばのおもみ」自動測定スクリプト

これにより,ImageJ を用いて手動で測定する必要がなくなります。また,ImageJ が依存するJavaを別途インストールする必要がなくなるのも嬉しい点です。

続きを読む

upTeX で文字コード情報を調べる upjcode パッケージ

日頃日本語組版の作業をしていると,

といった疑問を抱く場面に多々出会います。

そういうとき,いちいち文字コード表にあたって調べるのは面倒なので,TeX (upTeX) の機能を使って,このような疑問に全自動で答えられるようにすることを目指しました。

目標1:JIS X 0208 の区点位置から文字コード情報を得る

JIS X 0208 の「xx区yy点」という区点位置が与えられたとき,そこから以下の情報を取得する。

  • 文字
  • Unicode 符号位置
  • UTF-16 表現(ビッグエンディアン・リトルエンディアン)のバイト列
  • UTF-8 表現のバイト列
  • JIS (ISO-2022-JP) 表現のバイト列
  • EUC 表現のバイト列
  • Shift-JIS 表現のバイト列

そして,次のような表を作成する。

f:id:doraTeX:20150218195429p:plain

目標2:入力された文字の文字コード情報を得る

UTF8で作成されたTeXソースに入力された文字から,以下の情報を取得する。

  • Unicode 符号位置
  • BMP外の場合はサロゲートペア
  • UTF-16 表現(ビッグエンディアン・リトルエンディアン)のバイト列
  • UTF-8 表現のバイト列
  • その文字が JIS X 0208 の範囲に含まれるかどうか調べる。含まれていた場合は,次も調べる。
    • JIS (ISO-2022-JP) 表現のバイト列
    • EUC 表現のバイト列
    • Shift-JIS 表現のバイト列

そして,次のような表を作成する。

f:id:doraTeX:20150218195619p:plain

続きを読む

chemfigパッケージによる構造式描画

この記事は TeX & LaTeX Advent Calendar 2014 の12日目の記事です。 11日目はkinoさんでした。 13日目はnerukoさんとなっています。

今年の TeX & LaTeX Advent Calendar 2014 には,3日目に続き,2回目のエントリーとなります。

今日は,昨年の Advent Calendar の記事「TeXによる化学組版」の続編です。今年の Advent Calender では,8日目のアセトアミノフェンさんの記事も化学関連でした。また,20日目のTeXゼミさんも化学関連,17日目のワトソンさんは生物関連の記事を執筆してくださる予定だそうす。

化学・生物分野でもTeXがじわじわと普及しているのであれば嬉しい限りです。

ちなみに,この記事中の「出力結果」の画像は全て拙作の TeX2img で作成しています(こっそり宣伝)

目次

枝分かれや環状構造を持つ分子の構造式描画

昨年の Advent Calendar の記事の末尾に,次のように書きました。

上記の例のような比較的シンプルな構造式ならこれでよいですが,ベンゼン環の三置換体以上であったり,枝分かれのある炭化水素の場合などはどうすればよいでしょうか。 これは悩ましい問題です。

この問題に対する一つの大きな解決策として,chemfigパッケージというのを見つけました。これは,TikZを使って化学構造式を描画するための非常に強力なパッケージです。TeX Live であれば標準でインストールされています。

chemfigパッケージを使えば,枝分かれのある構造や環状構造,立体表示,電子式などが簡単に表示できます。

chemfigパッケージを使ってみよう

pLaTeX + dvipdfmx で使うための最低限のプリアンブルの設定,および簡単なサンプルは以下の通りです。

【入力】

\documentclass{jsarticle}
\usepackage[dvipdfmx]{graphicx}
\usepackage{chemfig}
\begin{document}
\chemfig{CH_3-CH(-[2]CH_3)-CH_2-C(=[:60]O)-[:-60]O-H}
\end{document}

【出力】

f:id:doraTeX:20141212221511p:plain

続きを読む

【改訂版】dvipdfmx で複数ページPDF/AIファイルを \includegraphics する

昨日,TeX & LaTeX Advent Calendar 2014 用の記事「dvipdfmx で複数ページPDF/AIファイルを \includegraphics する」をアップしましたが,早速反響と進歩がありました。

昨日の記事の最後に

本来的には,extractbb を改修して,「2ページ目以降のバウンディングボックス情報を出力する機能」を実装するのが理想的な解決手段です。 それが実装されれば,この拡張版 pdfinfo やその自動起動設定はもはや不要になります。

将来的に extractbb 自体にその機能が実装されることを願いつつ,とりあえず現状で機能する暫定的解決策として,この拡張版 pdfinfo をご紹介いたしました。

と書きましたが,これをお読みになった角藤先生が早速対応してくださり,extractbb 本体にこの問題を解決する改修を施してくださいました(W32TeX ChangeLog 2014/12/03, TeX Live SVN r35728, r35729)。 これにより,昨日の記事のような回りくどい解決法は,もはや過去のものとなりました。

一方,Illustrator図版におけるナントカBoxの決まり方や,dvipdfmxのBox選択に関する記述は,最新版でも依然として通用する情報です。 そこで,昨日の記事を,この最新仕様に対応するよう書き換えた改訂版の記事として,改めてアップいたします。

目次

対象バージョン

この記事の記述は,以下のTeX環境を前提としています。

  • W32TeX 2014/12/03版以降
  • TeX Live 2015 以降

この記事で述べる方法は TeX Live 2014 以前には適用できませんのでご注意ください。また,実験環境は次の通りです。

  • OS X Yosemite 10.10.1
  • Adobe Illustrator CS6

背景

昨年の Advent Calendar の記事でも述べましたが,日頃の化学教材の作成にあたり,図版作成には主に Adobe Illustrator を使っています。その際,次のように,少しずつ異なる同系統の図をたくさん用意する必要がある場面が多々あります。

f:id:doraTeX:20141203041041p:plain

その際,これらを1枚1枚別々のファイルにするのではなく,上図のように複数ページ(アートボード)を持つIllustratorファイルとして作成した方が,図版作成の作業効率やファイル管理の観点からは都合が良いと言えるでしょう。

かつては,日本で主流の (u)pLaTeX + dvipdfmx のワークフローの場合,このような複数ページ図版の取り扱いは厄介でした。ですが,最新版ではその問題が解決されています。

この記事では,その最新機能の使い方をお知らせいたします。

続きを読む