TeX Alchemist Online

TeX のこと,フォントのこと,Mac のこと

TeX

学習塾でのLaTeX活用事例集 ~[改訂第9版]LaTeX美文書作成入門の補足~

TeX

この記事は TeX & LaTeX Advent Calendar 2023 の4日目の記事です。3日目はuwabamiさんでした。 5日目はYarakashi_Kikohshiさんです。 【目次】 LaTeXを使って幸せになる方法とは? [改訂第9版]LaTeX美文書作成入門 今月発売! 差し込み印刷 答案の切り貼…

\refstepcounter & \label 使用上の注意点

TeX

先日,「\label によって直前の \refstepcounter された値が取得できるはずなのに,自分の文書中では正しく動かない」という質問を受けて,状況を調べてみたら,次のような罠にはまっていました。 状況 自分でカウンタを用意しており,そのカウンタの \refst…

「たいてき」を読みに含む単語が文書内に存在すれば文書全体を太字にする

「読みに〝たいてき〟を含む単語(相対的,大敵など)を文書のどこかに含むと文書全体が太字になるLaTeX文書」という,随分とマニアックなお題を見かけました。 Latexにて「たいてき」読みを含む単語(「相対的」とか「大敵」とか)を任意の場所に書くと、文章…

ページ数カウントの活用例:既存PDFの全ページに透かしを入れる

以前,LaTeX文書内から外部PDFファイルのページ数を取得する方法を解説しました。 doratex.hatenablog.jp その中で,その典型的な用途として,次のように述べました。 LaTeX文書内から,外部PDFファイルのページ数を取得したい状況はよくあります。例えば,…

カウンタ値を全角数字で出力する完全展開可能な命令を定義する

LaTeXのカウンタ値の出力の仕方として, \newcounter{test} \setcounter{test}{123} \arabic{test} % => 123 というようなのはお馴染みです。 そこで,カウンタ値を半角数字ではなく全角数字で出力する,というお題を考えましょう。 \kansuji による変換 こ…

LaTeX文書内から外部PDFファイルのページ数を取得する

LaTeX文書内から,外部PDFファイルのページ数を取得したい状況はよくあります。例えば,「外部PDFファイルの全ページにわたって○○を繰り返す」というような状況のとき,ループ回数を決めるにはそのページ数を取得せねばなりません。 ここでは, \newcount\PD…

Luaで外部コマンドの標準出力を取り込むときの注意点

前記事のちょとした補足です。 doratex.hatenablog.jp \begin{luacode*} function readFromPipe(cmd) local f = assert(io.popen(cmd, 'r')) local s = assert(f:read('*a')) f:close() return s end \end{luacode*} とした場合,コマンド出力結果の最後に改…

英単語から発音記号を自動出力する

この記事は TeX & LaTeX Advent Calendar 2022 の13日目の記事です。12日目はzr_tex8rさんでした。 13日目は yi_chemist さんです。 TeX Forumで 発音記号&アクセントの自動出力 というスレッドが立っており,50件以上のコメントが付く長大スレッドとなって…

upLaTeX文書の句読点を置き換える

upLaTeXでの文書作成時,ソースへのテンマル[、。]での入力をカンマピリオド[,.] での出力に置換しようと頑張っておられる記事がありました。 qiita.com しかし,U+3001 や U+3002 が含まれるUnicodeブロックをまるごと欧文扱い(kcatcode=15)にすると…

macOS の Preview.app での編集結果をTeX文書に反映させる(CUI編)

macOS 標準の Preview.app はとても強力です。「プレビュー」の名に反して,PDFを色々と編集できます。 ページの追加・削除・順序交換・回転 他のPDFファイルの差し込み ページのトリミング テキストの書き込み テキストをハイライト(蛍光ペンで塗る),下…

TeX言語で foreach する (2)

TeX

前記事で実装した \FOREACH には,次のような欠点がありました。 欠点 この実装の場合,ループの実装に \loop ~ \repeat を使っているので,ネスト(多重ループ)ができません。{\loop ~ \repeat} とブレースでくくればネスト可能な実装にも変更できますが…

TeX言語で foreach する (1)

TeX

多くのプログラミング言語で,(疑似コードでいうところの) for i in 1...10 do { print(i) } のような foreach 文があります。これを同様の繰り返しを LaTeX で実現するにはどうすればよいでしょうか。 pgffor パッケージの \foreach TeX Live に標準で含…

Overleaf で BXcoloremoji パッケージを用いて絵文字を出力する

Overleaf に BXcoloremoji パッケージを導入し,日本語対応 LaTeX エンジンでコンパイルして,絵文字入りの和文文書を作成してみましょう。(Overleaf のエディタ上にはBMP外絵文字の直接入力ができないこともあり,ちょっと面倒です。) 準備:Overleaf で…

mylatexformat を用いてコンパイル時間を短縮しよう!

TeX

この記事は TeX & LaTeX Advent Calendar 2021 の6日目の記事です。5日目も 自分の記事でした。8日目は zr_tex8r さんです。 TikZ を用いて,しかも \usetikzlibrary を用いて様々なライブラリをロードしまくったりすると,コンパイル時間がどんどん長くなり…

品詞記号出力マクロを設計しよう

この記事は TeX & LaTeX Advent Calendar 2021 の5日目の記事です。4日目は h20y6m さんでした。6日目も自分の記事です。 今回は,英和辞典とか単語帳とかでよく見かける,次のような品詞記号を出力するマクロを設計してみましょう。 要は単に「文字を角丸長…

BXcoloremoji パッケージで最新の Apple Color Emoji を使う

歴史 coloremoji パッケージ BXcoloremoji パッケージ 最新の macOS 12 Monterey の Apple Color Emoji を使うには 1. BXcoloremoji パッケージをインストール 2. twemoji で動作確認 サンプルソース コンパイル結果 3. Apple Color Emoji のグリフを抽出す…

帳票生成ツールとしての LaTeX の活用

この記事は TeX & LaTeX Advent Calendar 2020 の5日目の記事です。4日目は wtsnjp さんでした。 6日目は kn1cht さんです。 【追記】 本記事を受けて,ZRさんが key-value型の引数指定をもつユーザ命令を(LaTeXレベルで)定義するための bxkvcmd パッケー…

TikZ でベン図をたくさん描いてみよう!

この記事は TeX & LaTeX Advent Calendar 2019 の11日目の記事です。10日目は mod_poppo さんでした。 12日目は Mahito TANNO さんです。 今日は TikZ を使ってベン図を描いてみます。 【目次】 2 個のベン図 完成図 ソース 工夫 3 個のベン図 完成図 ソース…

xfakebold.sty を (u)pLaTeX + dvipdfmx に対応させてみた

現在,TeX & LaTeX Advent Calendar 2019 が開催中です。 adventar.org その2日目の記事が,t_kemmochi さんによる xfakebold.sty の紹介でした。 qiita.com この記事で紹介されている xfakebold.sty は,LuaLaTeX または pdfLaTeXのみで利用可能 とされて…

Overleaf + upLaTeX + Noto CJK JP フォント + 源柔ゴシック による和文多書体の実現

前回の記事では, Overleaf で XeLaTeX エンジンを使い Overleaf に用意されている高品質なフリー和文フォント Noto CJK JP を使う ことで,和文多書体を実現する方法を示しました。 doratex.hatenablog.jp 今回は,Overleaf 上で upLaTeX エンジンを使って…

Overleaf + XeLaTeX + Noto CJK JP フォントによる和文多書体の実現

この記事は旧記事をより楽な手順へと更新した改訂版となります。 卒論シーズンになり,LaTeX と格闘しておられる方も多いのではないでしょうか。昨今は LaTeX をローカル環境に構築しなくても,オンラインのクラウド環境で LaTeX 環境が使えるようになってい…

Overleaf + XeLaTeX + 原ノ味フォントによる和文多書体の実現

この記事の執筆後,同じことをより簡単に実現する方法が見つかりました。改訂版記事が「Overleaf + XeLaTeX + Noto CJK JP フォントによる和文多書体の実現」として公開されています。 卒論シーズンになり,LaTeX と格闘しておられる方も多いのではないでし…

「サイゼリヤで1000円あれば最大何kcal摂れるのか」をTeX言語で計算する ~TeX言語で動的計画法(DP)~

TeX

最近,巷では「サイゼリヤで1000円あれば最大何kcal摂れるのか」を計算するのが流行っているようです。 「サイゼリヤで1000円あれば最大何kcal摂れるのか」を量子アニーリング計算(Wildqat)で解いてみた。 - Qiita 「サイゼリヤで1000円あれば最大何kcal摂れ…

MacTeX 2019 のインストール&日本語環境構築法

(MacTeX 付属の mactex.jpg より) 一昨日,とうとう TeX Live 2019 がリリースされました。TeX Live 2019 の新機能・仕様変更の詳細は,次の2つの記事に網羅的にまとまっていますので,そちらをご参照ください。 acetaminophen.hatenablog.com acetaminoph…

令和時代の TeX Live

令和元年あけましておめでとうございます。新元号「令和」を迎えるにあたり,文字コード界やTeX界でも昨今動きが慌ただしいです。 「㍾」「㍽」「㍼」「㍻」のような組文字の「令和」を U+32FF に追加した Unicode 12.1.0 のリリース。 #新元号 #令和 の発表…

TeX 文書中で日本語を含むQRコードを動的生成する(macOS環境下,shell-escapeあり)

昨日,Python ワンライナーを用いて macOS のデフォルト状態でコマンドラインからQRコード画像を生成する方法を紹介しました。 doratex.hatenablog.jp この記事について,TeX界の大御所の目には,隠れた意図を軽々と見抜かれてしまいました 気をつけろ!! mac…

TeX で UUID を生成する

本日リリースされた TeX Live 2019 において,XeTeX に擬似乱数生成関連のプリミティブ \uniformdeviate‌ / \normaldeviate‌ / \randomseed / \setrandomseed が追加され,主要 TeX エンジンに乱数生成プリミティブが出揃うこととなりました。乱数生成プリミ…

MacTeX 2018 のインストール&日本語環境構築法【Mojave対応更新版】

この記事は旧バージョンの記事です。新バージョンの記事が「MacTeX 2019 のインストール&日本語環境構築法」として公開されています。 doratex.hatenablog.jp (MacTeX 付属の mactex.jpg より) 本記事は昨年の記事の Mojave 対応改訂版となります。 dorat…

TeX で乱数を使う (4) ~ 2次元シャッフル

前々回の記事 TeX で乱数を使う (2) では,「インプットした問題ストックからランダムな順序で出題する」というお題を扱いました。前回の記事 TeX で乱数を使う (3) では,「語順整序問題における語順をランダムに並べ替え,逆置換を用いてその正解も自動表…

TeX で乱数を使う (3) ~ 逆置換の活用

前回の記事で作成した randomshuffle パッケージは,n次対称群 $\mathfrak{S}_n$ の元 $\sigma$ をランダムに生成したとき,同時にその逆置換 $\sigma^{-1}$ も生成する仕様になっていました。逆置換はどういう場面で役立つのでしょうか。 MathJax.Hub.Confi…