前記事で実装した \FOREACH には,次のような欠点がありました。 欠点 この実装の場合,ループの実装に \loop ~ \repeat を使っているので,ネスト(多重ループ)ができません。{\loop ~ \repeat} とブレースでくくればネスト可能な実装にも変更できますが,すると「中身をグルーピングしない」という長所が失われてしまうので,そこは一長一短と言えるでしょう。 そこで...| TeX Alchemist Online
先日,Swift → Objective-C → Python (PyObjC) → ワンライナースクリプト と変換することで,追加のプログラム/ライブラリの事前インストールを必要とせず,macOS環境であればどこでもシェルから1行で呼び出せるQRコード生成コマンドを作成する試みを行いました。 doratex.hatenablog.jp WWDC 2019 での衝撃の発表 ところが,現在開催中の WWDC 2019 において発表された Xcode 11 Beta の Rel...| TeX Alchemist Online
【追記】この記事を macOS 12.3 以降の環境に対応させた記事を書きました。 doratex.hatenablog.jp id:acetaminophen さんが,Windows環境でPDFのページ数をカウントするバッチファイルを,様々な手法で実装する試みをなされています。 d.hatena.ne.jp d.hatena.ne.jp そこで,Mac環境についても,コマンドラインからPDFのページ数をカウントする様々な手法をまとめておこうと思います。 目次 ...| TeX Alchemist Online
この記事は TeX & LaTeX Advent Calendar 2024 の19日目の記事です。18日目はzr_tex8rさんでした。 20日目はtasusuさんです。 【目次】 紙面縁までの塗りを用いた小口見出し(ツメ) ページ番号の10進・2進・16進表記の共存 グルグル回る柱飾りを描画する 配布用と投影用で出力を分岐する 配布用 プロジェクタ投影用 配布用/投影用PDFの一括生成 コラム記事の飾り枠 共通テスト用プ...| TeX Alchemist Online
この記事は TeX & LaTeX Advent Calendar 2024 の3日目の記事です。2日目は津茶利休さんでした。 4日目はutさんです。 【目次】 大学入学共通テスト(旧センター試験)で「情報Ⅰ」が必須に! 基数変換計算練習帳を作る 生成物のサンプル 実装の話 補数計算練習帳を作る 生成物のサンプル 実装の話 ソースコード 基数変換計算練習帳 補数計算練習帳 大学入学共通テスト(旧セ...| TeX Alchemist Online
今回は,\if系トークンでの判定でよく使われるテクニック3選として,次の3つの技巧を紹介しましょう。 \if系トークンでの判定で OR 条件 \if系トークンでの判定で AND 条件 空文字列判定 【目次】 LaTeXの ifthen パッケージとの比較 OR条件 AND条件 空文字列判定 ifthen パッケージの欠点 テク①:\if系トークンでの判定でOR条件 テク②:\if系トークンでの判定でAND条件 応用:も...| TeX Alchemist Online
macOS 12 Monterey では,OSビルトインでのOCR機能が搭載されました。Preview.app で,画像やスキャンPDF(中身がスキャン画像のPDF)に対して,ただマウスでドラッグするだけで,中身の文字を認識して選択し,コピーできるようになっています。さらに,macOS 13 Ventura では,それが日本語にも対応しました。 たとえば,(今や入手困難となってしまった)The TeXbook のアスキーに...| TeX Alchemist Online
LaTeXのカウンタ値の出力の仕方として, \newcounter{test} \setcounter{test}{123} \arabic{test} % => 123 というようなのはお馴染みです。 そこで,カウンタ値を半角数字ではなく全角数字で出力する,というお題を考えましょう。 \kansuji による変換 こういうときは,(u)pTeX のプリミティブである \kansuji を使うと簡単です。\kansuji は,続く数字の文字列を漢数字の文字列へと展開する命...| TeX Alchemist Online
前記事の続編です。 doratex.hatenablog.jp かつては Automator アクションに内蔵されたスクリプトが便利だった macOS 12.2 以前では,システム標準にインストールされているAutomatorアクションの中に内包された Python スクリプトを呼び出すことで,コマンドラインから複数のPDFを結合することが可能でした。 例えば,input1.pdf ~input3.pdf を結合して output.pdf を得たい場合,次のコマ...| TeX Alchemist Online
多くのプログラミング言語で,(疑似コードでいうところの) for i in 1...10 do { print(i) } のような foreach 文があります。これを同様の繰り返しを LaTeX で実現するにはどうすればよいでしょうか。 pgffor パッケージの \foreach TeX Live に標準で含まれる pgffor パッケージをロードすることで,自由自在な \foreach が使えるようになります。 1,...,5 のように書けば公差1の等差数列 1,...| TeX Alchemist Online
macOS のコマンドラインからPDFのページ数をカウントするには Python (PyObjC) が最も汎用的だった かつて,コマンドラインからPDFのページ数をカウントする方法を色々模索しました。 doratex.hatenablog.jp このとき,結論としては「Python (PyObjC) を使う」という方法が最も汎用的(あらゆる macOS 環境下で追加ツールをインストールせず実行できる)という結果になりました。 macOS ...| TeX Alchemist Online
この記事は TeX & LaTeX Advent Calendar 2020 の5日目の記事です。4日目は wtsnjp さんでした。 6日目は kn1cht さんです。 【追記】 本記事を受けて,ZRさんが key-value型の引数指定をもつユーザ命令を(LaTeXレベルで)定義するための bxkvcmd パッケージ を作成してくださいました!これを使えば,本稿の内容をより容易に実現できます。 【目次】 差し込み印刷 最も単純なアイデア ...| TeX Alchemist Online
この記事は TeX & LaTeX Advent Calendar 2021 の6日目の記事です。5日目も 自分の記事でした。8日目は zr_tex8r さんです。 TikZ を用いて,しかも \usetikzlibrary を用いて様々なライブラリをロードしまくったりすると,コンパイル時間がどんどん長くなりますよね。特に,TikZ で「座標を目分量で微調整」などしているときなんかだと,作業時間の大半を「コンパイルの待ち時間」が...| TeX Alchemist Online