この記事は TeX & LaTeX Advent Calendar 2024 の3日目の記事です。2日目は津茶利休さんでした。 4日目はutさんです。 【目次】 大学入学共通テスト(旧センター試験)で「情報Ⅰ」が必須に! 基数変換計算練習帳を作る 生成物のサンプル 実装の話 補数計算練…
日頃からPDFを扱っていると,「PDFのN-up処理(例えば2ページずつ並べて見開きにするなど)をしたい」というのはよく出くわす状況です。 以前,その目的に pdfTeX が大活躍することを紹介しました。 doratex.hatenablog.jp 最近もそういう話題がありました。…
TeX で試験や問題集などの教材を作成するとき,他言語で言うところの連想配列(ハッシュテーブル,ディクショナリ)のようなものが欲しくなる点が多々あります。例えば,やりたいことをPythonで書くと,こういうコードを書くことに相当します。 questions = …
ifthen パッケージによる文字列一致判定 LaTeXマクロで「文字列一致判定」による場合分けを行いたい場合,ifthen パッケージの \equal を使うのが簡単です。ifthen パッケージは次の記事に詳しく解説されています。 qiita.com 例えば,#1に与えられた文字列…
前記事の続編です。 doratex.hatenablog.jp 前記事では,写真に写る人物の顔部分に絵文字を貼り込むことでマスキングを行いました。本記事では,その応用として,顔部分にモザイクをかけるスクリプトを作ってみましょう。 前記事同様,次のような要件としま…
SNS上に写真をアップするとき,個人情報保護のため,人物の顔に絵文字で上記のようなマスキング処理を施すことがよくあります。そこで,次の条件を満たすシェルスクリプトを作ることを目指します。 要件 macOS のデフォルト状態で動作する。ユーザに対して,…
今回は,\if系トークンでの判定でよく使われるテクニック3選として,次の3つの技巧を紹介しましょう。 \if系トークンでの判定で OR 条件 \if系トークンでの判定で AND 条件 空文字列判定 【目次】 LaTeXの ifthen パッケージとの比較 OR条件 AND条件 空文字…
TeX & LaTeX Advent Calendar 2023 の4日目の記事で,日付演算の方法について解説しました。 doratex.hatenablog.jp 今回はそれを実務に応用してみましょう。 実務上の発生状況例 教材作成業務をしていると,次のような場面に遭遇することが珍しくありません…
この記事は TeX & LaTeX Advent Calendar 2023 の18日目の記事です。17日目はYarakashi_Kikohshiさんでした。 19日目は7danmoroboshiさんです。 【目次】 大学入学共通テストの新傾向問題と言えば……!? 検討ポイント 乱数生成アルゴリズムの選択 「指定された…
この記事は TeX & LaTeX Advent Calendar 2023 の4日目の記事です。3日目はuwabamiさんでした。 5日目はYarakashi_Kikohshiさんです。 【目次】 LaTeXを使って幸せになる方法とは? [改訂第9版]LaTeX美文書作成入門 今月発売! 差し込み印刷 答案の切り貼…
先日,「\label によって直前の \refstepcounter された値が取得できるはずなのに,自分の文書中では正しく動かない」という質問を受けて,状況を調べてみたら,次のような罠にはまっていました。 状況 自分でカウンタを用意しており,そのカウンタの \refst…
「読みに〝たいてき〟を含む単語(相対的,大敵など)を文書のどこかに含むと文書全体が太字になるLaTeX文書」という,随分とマニアックなお題を見かけました。 Latexにて「たいてき」読みを含む単語(「相対的」とか「大敵」とか)を任意の場所に書くと、文章…
以前,LaTeX文書内から外部PDFファイルのページ数を取得する方法を解説しました。 doratex.hatenablog.jp その中で,その典型的な用途として,次のように述べました。 LaTeX文書内から,外部PDFファイルのページ数を取得したい状況はよくあります。例えば,…
前回の記事では,macOS のデフォルト状態でコマンドラインからPDFや画像ファイルに対してOCR処理を行いテキストを取り出す方法を解説しました。 doratex.hatenablog.jp 一方,OCRではなく,「PDFに埋め込まれたテキスト情報をそのまま読み込んで標準出力に表…
macOS 12 Monterey では,OSビルトインでのOCR機能が搭載されました。Preview.app で,画像やスキャンPDF(中身がスキャン画像のPDF)に対して,ただマウスでドラッグするだけで,中身の文字を認識して選択し,コピーできるようになっています。さらに,macO…
LaTeXのカウンタ値の出力の仕方として, \newcounter{test} \setcounter{test}{123} \arabic{test} % => 123 というようなのはお馴染みです。 そこで,カウンタ値を半角数字ではなく全角数字で出力する,というお題を考えましょう。 \kansuji による変換 こ…
LaTeX文書内から,外部PDFファイルのページ数を取得したい状況はよくあります。例えば,「外部PDFファイルの全ページにわたって○○を繰り返す」というような状況のとき,ループ回数を決めるにはそのページ数を取得せねばなりません。 ここでは, \newcount\PD…
前記事のちょとした補足です。 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での文書作成時,ソースへのテンマル[、。]での入力をカンマピリオド[,.] での出力に置換しようと頑張っておられる記事がありました。 qiita.com しかし,U+3001 や U+3002 が含まれるUnicodeブロックをまるごと欧文扱い(kcatcode=15)にすると…
前記事の内容について,この「PDFの“フラット化”処理」は,Ghostscriptを使わずGUIで行うこともできます。 doratex.hatenablog.jp 方法1:プレビューアプリの「PDFとして書き出す」 プレビューアプリでメニューから「ファイル → PDFとして書き出す...」を選…
macOS 標準の Preview.app はとても強力です。「プレビュー」の名に反して,PDFを色々と編集できます。 ページの追加・削除・順序交換・回転 他のPDFファイルの差し込み ページのトリミング テキストの書き込み テキストをハイライト(蛍光ペンで塗る),下…
前記事で実装した \FOREACH には,次のような欠点がありました。 欠点 この実装の場合,ループの実装に \loop ~ \repeat を使っているので,ネスト(多重ループ)ができません。{\loop ~ \repeat} とブレースでくくればネスト可能な実装にも変更できますが…
多くのプログラミング言語で,(疑似コードでいうところの) for i in 1...10 do { print(i) } のような foreach 文があります。これを同様の繰り返しを LaTeX で実現するにはどうすればよいでしょうか。 pgffor パッケージの \foreach TeX Live に標準で含…
2018年の iOS 12 で導入された「ショートカット」アプリが,2021年の macOS 12 Monterey から,Mac上でも使えるようになりました。これで,macOSを自動化する方法としては, シェルスクリプト(ターミナル) AppleScript(スクリプトエディタ) Automator 「…
前記事の続編です。 doratex.hatenablog.jp かつては Automator アクションに内蔵されたスクリプトが便利だった macOS 12.2 以前では,システム標準にインストールされているAutomatorアクションの中に内包された Python スクリプトを呼び出すことで,コマン…
macOS のコマンドラインからPDFのページ数をカウントするには Python (PyObjC) が最も汎用的だった かつて,コマンドラインからPDFのページ数をカウントする方法を色々模索しました。 doratex.hatenablog.jp このとき,結論としては「Python (PyObjC) を使う…
Overleaf に BXcoloremoji パッケージを導入し,日本語対応 LaTeX エンジンでコンパイルして,絵文字入りの和文文書を作成してみましょう。(Overleaf のエディタ上にはBMP外絵文字の直接入力ができないこともあり,ちょっと面倒です。) 準備:Overleaf で…
この記事は TeX & LaTeX Advent Calendar 2021 の(勝手にやった)26日目の記事です。25日目は golden_lucky さんでした。その後なんと27日目,28日目,29日目,30日目,31日目と続きました。 昨日,TeX & LaTeX Advent Calendar 2021 が無事に完走しました…
この記事は TeX & LaTeX Advent Calendar 2021 の6日目の記事です。5日目も 自分の記事でした。8日目は zr_tex8r さんです。 TikZ を用いて,しかも \usetikzlibrary を用いて様々なライブラリをロードしまくったりすると,コンパイル時間がどんどん長くなり…