TeX Alchemist Online

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

TeX

\if 系トークンでの条件判定でよく使われるテク3選

TeX

今回は,\if系トークンでの判定でよく使われるテクニック3選として,次の3つの技巧を紹介しましょう。 \if系トークンでの判定で OR 条件 \if系トークンでの判定で AND 条件 空文字列判定 【目次】 LaTeXの ifthen パッケージとの比較 OR条件 AND条件 空文字…

来年の教材変更を予約する

TeX

TeX & LaTeX Advent Calendar 2023 の4日目の記事で,日付演算の方法について解説しました。 doratex.hatenablog.jp 今回はそれを実務に応用してみましょう。 実務上の発生状況例 教材作成業務をしていると,次のような場面に遭遇することが珍しくありません…

相関係数格付けチェックを作る ~目指せ相関係数ソムリエ!~

この記事は TeX & LaTeX Advent Calendar 2023 の18日目の記事です。17日目はYarakashi_Kikohshiさんでした。 19日目は7danmoroboshiさんです。 【目次】 大学入学共通テストの新傾向問題と言えば……!? 検討ポイント 乱数生成アルゴリズムの選択 「指定された…

学習塾での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 14.4 Sonoma の 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 エンジンに乱数生成プリミティブが出揃うこととなりました。乱数生成プリミ…