TeX Alchemist Online

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

\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ファイルのページ数を取得したい状況はよくあります。例えば,…

macOS のデフォルト状態でコマンドラインからPDFのテキスト抽出を行う

前回の記事では,macOS のデフォルト状態でコマンドラインからPDFや画像ファイルに対してOCR処理を行いテキストを取り出す方法を解説しました。 doratex.hatenablog.jp 一方,OCRではなく,「PDFに埋め込まれたテキスト情報をそのまま読み込んで標準出力に表…

macOS のデフォルト状態でコマンドラインからOCR処理を行う

macOS 12 Monterey では,OSビルトインでのOCR機能が搭載されました。Preview.app で,画像やスキャンPDF(中身がスキャン画像のPDF)に対して,ただマウスでドラッグするだけで,中身の文字を認識して選択し,コピーできるようになっています。さらに,macO…

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

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文書に反映させる(GUI編)

前記事の内容について,この「PDFの“フラット化”処理」は,Ghostscriptを使わずGUIで行うこともできます。 doratex.hatenablog.jp 方法1:プレビューアプリの「PDFとして書き出す」 プレビューアプリでメニューから「ファイル → PDFとして書き出す...」を選…

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 に標準で含…

「ショートカット」アプリでPDFを結合する

2018年の iOS 12 で導入された「ショートカット」アプリが,2021年の macOS 12 Monterey から,Mac上でも使えるようになりました。これで,macOSを自動化する方法としては, シェルスクリプト(ターミナル) AppleScript(スクリプトエディタ) Automator 「…

macOS 12.3 以降の環境でコマンドラインからPDFを結合する

前記事の続編です。 doratex.hatenablog.jp かつては Automator アクションに内蔵されたスクリプトが便利だった macOS 12.2 以前では,システム標準にインストールされているAutomatorアクションの中に内包された Python スクリプトを呼び出すことで,コマン…

macOS 12.3 以降の環境でコマンドラインからPDFのページ数をカウントする

macOS のコマンドラインからPDFのページ数をカウントするには Python (PyObjC) が最も汎用的だった かつて,コマンドラインからPDFのページ数をカウントする方法を色々模索しました。 doratex.hatenablog.jp このとき,結論としては「Python (PyObjC) を使う…

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

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

括弧位置が自動調整される \left, \right もどきを作る

この記事は TeX & LaTeX Advent Calendar 2021 の(勝手にやった)26日目の記事です。25日目は golden_lucky さんでした。その後なんと27日目,28日目,29日目,30日目,31日目と続きました。 昨日,TeX & LaTeX Advent Calendar 2021 が無事に完走しました…

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 エンジンを使って…