TeX Alchemist Online

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

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 スクリプトを呼び出すことで,コマン…