この記事は,過去の記事「Overleaf で日本語を使用する方法」を,新サービス Overleaf v2 仕様にアップデートしたものです。 Overleaf(旧writeLaTeX) は,オンラインで使える LaTeX 原稿執筆環境として非常に便利です。自分のマシン内に TeX 環境を構築するのは一手間二手間かかりますし,インストールする権限がない場合や,出先の端末を使う場合などにも,環境整備の必要...| TeX Alchemist Online
近年,iPhoneで撮影した写真は,デフォルトでHEIC形式の画像となります。 HEIC形式はJPEGなどと比べ圧縮率が高くてよいのですが,LaTeXでサポートされておらず,\includegraphics で読み込むためには,事前にJPEGなどの標準的な画像形式に変換しておく必要があります。 それが面倒なので,\includegraphics に「HEIC画像が指定されたら内部的にJPEGに変換して読み込ませる」という機...| TeX Alchemist Online
TeX で試験や問題集などの教材を作成するとき,他言語で言うところの連想配列(ハッシュテーブル,ディクショナリ)のようなものが欲しくなる点が多々あります。例えば,やりたいことをPythonで書くと,こういうコードを書くことに相当します。 questions = dict() # 問題文を記憶するディクショナリ answers = dict() # 解答を記憶するディクショナリ explanations = dict() # 解説文...| TeX Alchemist Online
ifthen パッケージによる文字列一致判定 LaTeXマクロで「文字列一致判定」による場合分けを行いたい場合,ifthen パッケージの \equal を使うのが簡単です。ifthen パッケージは次の記事に詳しく解説されています。 qiita.com 例えば,#1に与えられた文字列が ほげ であるか否か(完全一致)によって \TRUE,\FALSE のいずれかを実行するマクロ \hogecheck は次のように定義できます...| TeX Alchemist Online
TeX & LaTeX Advent Calendar 2023 の4日目の記事で,日付演算の方法について解説しました。 doratex.hatenablog.jp 今回はそれを実務に応用してみましょう。 実務上の発生状況例 教材作成業務をしていると,次のような場面に遭遇することが珍しくありません。 授業テキストは印刷所に入稿して製本し,解答はプリンタで印刷して授業の場で紙として配布する授業運営形態であると...| TeX Alchemist Online
この記事は TeX & LaTeX Advent Calendar 2023 の18日目の記事です。17日目はYarakashi_Kikohshiさんでした。 19日目は7danmoroboshiさんです。 【目次】 大学入学共通テストの新傾向問題と言えば……!? 検討ポイント 乱数生成アルゴリズムの選択 「指定された相関係数を持つ2つの乱数列」をいかにして生成するか? 定理 証明 注意:生成した乱数列の相関係数は再測定が必要 相関係数格...| TeX Alchemist Online
この記事は TeX & LaTeX Advent Calendar 2023 の4日目の記事です。3日目はuwabamiさんでした。 5日目はYarakashi_Kikohshiさんです。 【目次】 LaTeXを使って幸せになる方法とは? [改訂第9版]LaTeX美文書作成入門 今月発売! 差し込み印刷 答案の切り貼り&電子採点&復元 「問題内容の定義」と「教材ごとの問題使用状況の定義」の分離 日付演算 曜日取得 日付演算 使用例 日付の加算...| TeX Alchemist Online
先日,「\label によって直前の \refstepcounter された値が取得できるはずなのに,自分の文書中では正しく動かない」という質問を受けて,状況を調べてみたら,次のような罠にはまっていました。 状況 自分でカウンタを用意しており,そのカウンタの \refstepcounter は自作コマンドの中で自動でなされる。 \label 付けをするのは,必要なときに限って自分で地の文中で行う...| TeX Alchemist Online
「読みに〝たいてき〟を含む単語(相対的,大敵など)を文書のどこかに含むと文書全体が太字になるLaTeX文書」という,随分とマニアックなお題を見かけました。 Latexにて「たいてき」読みを含む単語(「相対的」とか「大敵」とか)を任意の場所に書くと、文章全体が太字になるというまじで訳分からん現象に遭遇()— あくあ@プログラミング (@aqua_prgrmmng) 2023年7月2日 ...| TeX Alchemist Online
以前,LaTeX文書内から外部PDFファイルのページ数を取得する方法を解説しました。 doratex.hatenablog.jp その中で,その典型的な用途として,次のように述べました。 LaTeX文書内から,外部PDFファイルのページ数を取得したい状況はよくあります。例えば,「外部PDFファイルの全ページにわたって○○を繰り返す」というような状況のとき,ループ回数を決めるにはそのペー...| TeX Alchemist Online
LaTeX文書内から,外部PDFファイルのページ数を取得したい状況はよくあります。例えば,「外部PDFファイルの全ページにわたって○○を繰り返す」というような状況のとき,ループ回数を決めるにはそのページ数を取得せねばなりません。 ここでは, \newcount\PDFPageCount と定義したカウントレジスタ \PDFPageCount に,#1 で指定された外部ファイル のページ数を代入する動き...| TeX Alchemist Online
前記事のちょとした補足です。 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*} とした場合,コマンド出力結果の最後に改行があると,それを空白として文字列 s に取り込んでしまします。すると,それを tex.print() で出力したときにも,スペーストークンが入ってきてしまうことになりま...| TeX Alchemist Online
この記事は TeX & LaTeX Advent Calendar 2022 の13日目の記事です。12日目はzr_tex8rさんでした。 13日目は yi_chemist さんです。 TeX Forumで 発音記号&アクセントの自動出力 というスレッドが立っており,50件以上のコメントが付く長大スレッドとなっていました。 okumuralab.org やりたいこと TeX Live に含まれるtipaパッケージを用いれば,IPAの国際音声記号(発音記号)をLaTeX文書で自在...| TeX Alchemist Online
upLaTeXでの文書作成時,ソースへのテンマル[、。]での入力をカンマピリオド[,.] での出力に置換しようと頑張っておられる記事がありました。 qiita.com しかし,U+3001 や U+3002 が含まれるUnicodeブロックをまるごと欧文扱い(kcatcode=15)にするというのでは副作用が大きく,安全に置き換えることはできません。 面白いんだけど、ただこの「"3000や"FF00のブロックを欧文...| TeX Alchemist Online
macOS 標準の Preview.app はとても強力です。「プレビュー」の名に反して,PDFを色々と編集できます。 ページの追加・削除・順序交換・回転 他のPDFファイルの差し込み ページのトリミング テキストの書き込み テキストをハイライト(蛍光ペンで塗る),下線や取り消し線の追加 長方形や円といった図形の追加 フリーハンドで線を描画 「墨消し」機能(⬅︎最近追加さ...| TeX Alchemist Online
Overleaf に BXcoloremoji パッケージを導入し,日本語対応 LaTeX エンジンでコンパイルして,絵文字入りの和文文書を作成してみましょう。(Overleaf のエディタ上にはBMP外絵文字の直接入力ができないこともあり,ちょっと面倒です。) 準備:Overleaf で日本語 LaTeX 文書を作成する準備を整える まずは,次に記事を参考にして,Overleaf 上に新規プロジェクトを作成し,日本語 L...| TeX Alchemist Online
In questo periodo sto riscoprendo e riflettendo sul recupero di roba| wok
(ゆきだるまの前フリを入力する)……ゆきだるま!⛄ 今日は、皆さんお待ちかねの、ナントカの日!☃😍#ナントカ #の日 ❤⛄ pic.twitter.com/FK7I1Tz930— 某ZR(ざんねん🙃) (@zr_tex8r) 2025年8月8日 というわけで、今年も案の定ゆきだるまの日がやってきました! (本題の見出しを入力する) (LaTeXの困難な問題を入力する) (画期的な解決策を入力する) というわけで...| マクロツイーター
ううう、典型的なFizzBuzzの実装コードか、と思ったら、メッチャ難しい🤮🤮🤮(理解するのに10分かかった😥)#TeX #TeX言語 pic.twitter.com/ZvFcMierko— 某ZR(ざんねん🙃) (@zr_tex8r) 2025年8月2日 先日、「TeX言語入門入門」という記事が公開されました。 TeX言語入門入門(東京科学大学デジタル創作同好会traP) そこにTeX言語のプログラミングの例としてFizzBuzzが載っています...| マクロツイーター
数式中でフェニキア文字が使いたくなったときも、あんしん🙂 #多分tcmathphnx パッケージhttps://t.co/08A1nY4BpF#TeX #TeXLaTeX— 某ZR(ざんねん🙃) (@zr_tex8r) 2025年7月13日 もしかしたら、フェニキア文字とかを数式で使うLaTeXパッケージをエ~アイが実装できた方がいいかもしれないので、tcmathphnxパッケージのつくり方について簡単に解説することにする。 tcmathphnxパッケージはTe...| マクロツイーター
前回までは実用的なTeX言語プログラミングを題材にしてきたわけですが、TeX言語においては芸人的なプログラミングもそれと同じくらい重要な能力です(多分 🙃) というわけで、本記事ではTeX芸的な課題を扱います。 イマドキのAIのFizzBuzzを添削する まずは、例のラング・ラグーの記事にも出てきたFizzBuzzです。例の記事と同じく「FizzBuzzとは何か」の説明はしません...| マクロツイーター
前回のプログラミングの結果がイイカンジ🙂だったので、味を占めてもうチョット難しい問題を試してみます。 イマドキのAIのTeXプログラミングをもっと添削する 前回の問題の説明で「RubyのString#splitを作ろうとすると地獄に陥る😱」と言いましたが、今回はその「String#split(の制限版)を作る」という問題です🤯 自作のLaTeXパッケージの実装でもこのsplitマクロを何...| マクロツイーター
前回の続き。前回の記事では“純粋な知識問題”を扱いましたが、今回は「実用的なTeX言語プログラミング」を扱います。 例の2022年の記事にある問題でプログラミングを扱っているのは6番目のFizzBuzzですが、FizzBuzzはあまり実用的とはいえないので、ここでは別の問題を扱います。 このシリーズではプログラミングの問題についてはGemini 2.5 Proを使用します。Googleにロ...| マクロツイーター
去る2022年の某アドベントカレンダーに「ChatGPTのTeX知識を添削してみた」という記事がありました。 ChatGPTのTeX知識を添削してみた(ラング・ラグー) イマドキの生成AIを知る人から見ると2年半前の生成AIはカス同然です。だからこそ「AIにTeXについて質問する」ことがネタとして成立していたわけです。イマドキの生成AIに質問してもここまで愉快な話にはならないこと...| マクロツイーター
Beamerの数式フォント,皆さん何にしてますか?普通の文書のようなセリフ体Computer Modern(CM)の人,サンセリフ体CM(beamerのデフォルト)の人,テーマに付いてくるフォントを使っている人,イロイロだと思います.一方で,MathJaxなどWeb上のTeX数式はほぼセリフ体のCM一択です.大体の人はセリフ体のCMが一番見慣れているはずなので,スライドでもセリフ体のCMを使いたい...| むしゃくしゃしてやった,今は反省している日記
Beamerやbiblatex, TikZなどを使っていると,コンパイルに異様に時間がかかってしまうことないですか?実はbeamerなどでは,コンパイル時間の大半はプリアンブルのファイル読み込みと読み込んだ先の構文解析・マクロ展開に費やされています.最近,mylatexformatを使ってプリアンブル展開を前処理すると,コンパイルを高速化できるよという素晴らしい記事がありました. d...| むしゃくしゃしてやった,今は反省している日記
TeX & LaTeX Advent Calendar 2024 の20日目の記事です.19日目はdoraTeXさんでした。 21日目は_MadChemiker_さんです。今回は「TikZを使って文書内の好きな位置に注釈をつける」というテーマで小ネタです.こんなふうに,本文内の指定された位置に合わせて,横に注釈を付けられるようにします.また,本文を書き足したり,幅を変えたりして位置がズレても,注釈が追従してくれる...| むしゃくしゃしてやった,今は反省している日記
前記事で実装した \FOREACH には,次のような欠点がありました。 欠点 この実装の場合,ループの実装に \loop ~ \repeat を使っているので,ネスト(多重ループ)ができません。{\loop ~ \repeat} とブレースでくくればネスト可能な実装にも変更できますが,すると「中身をグルーピングしない」という長所が失われてしまうので,そこは一長一短と言えるでしょう。 そこで...| 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のキーワード」について解説した。その中で「TeXの絶対単位の一覧」を紹介した。 単位 意味 TeXでの定義 pt ポイント(point) in インチ(inch) 1in=(7227/100)pt pc パイカ(pica) 1pc=12pt cm センチメートル 1cm=(7227/254)pt mm ミリメートル 1mm=(7227/2540)pt bp ビッグポイント(big point) 1bp=(7227/7200)pt dd ディドーポイント(Didot point) 1dd=(1238/...| マクロツイーター
今度の6月1日に池袋で開催される技術同人誌即売会・技術書典18に、サークル「だめぽラボ」として新刊「作ってわかるTeX言語」を出します。既刊も、在庫のあるものは頒布します。| 雑記帳
「TeX言語🤮の全キーワードまとめ」というネタを思いついてしまったという深刻な問題を無事解決して安心して某キ~タを眺めていたら、また新たな問題が発生してしまいました😟 問題が解決したと思ってまた某キ~タを眺めてたら、今度はこんな記事を見つけてしまった(ざんねん🙃)これで完璧!Goの演算子と区切り記号を網羅するまとめ ― Qiita (by urakawa_jinsei)ht...| マクロツイーター
TeX言語の参考書において「カテゴリコード(category code)」を扱った箇所を見ると、大抵の場合「0~15のカテゴリコードについて、LaTeX(あるいはplain TeX)の初期状態で当該のカテゴリコードをもつ文字の例」が挙げられている。それを見ればASCIIの印字可能(printable)の文字(つまり文字コード32~126の範囲)については「各文字がどういうカテゴリコードをもつか」も全て判...| マクロツイーター
相変わらずやってます🌸 ところで:#春のTeX言語キャンペーン🌸はまだ続いております💁#TeX #TeX言語 pic.twitter.com/cYGaEtTdyi— 某ZR(ざんねん🙃) (@zr_tex8r) 2025年4月20日 Beast言語の話のTeX言語の話 先日、某キ~タを眺めていたらこんな記事を見つけました。 BibTeXを用いた際,著者名の途中で改行されるのを.bstファイルをいじることで止めさせる方法(Qiita/@Ken_aerospace) 「...| マクロツイーター
例によって、始まりました🌸 少し遅くなりましたが、今年もTeX言語🤮の季節っぽくなってきたので、本日から🌸#春のTeX言語キャンペーン🌸を開始します!🤯#TeX #TeX言語 pic.twitter.com/srQEk4damj— 某ZR(ざんねん🙃) (@zr_tex8r) 2025年4月5日 で、例によって、大ネタに取り組む気力も体力もないので、少し前にツイッタァー(現𝕏)に投下された大喜利に取り組んでみまし...| マクロツイーター
TeX & LaTeX Advent Calendar 2024 * * * アドベントカレンダー完走! %%{\^^,^^%^^4~\^^63^^!^^4^^63^^/^^64^^%~`'0~`;9~`'%~`^~`^^26~`''~`^^<~`'^^` %%{^^`^^`~`!14'^^,^^%^^4'~'^^,^^%^^4'~'8'^^!^^64^^6^^!^^.^^63^^%~27^^`"1^^` %%{'~'5'^^0^^64^^66^^5^^.^^65^^3^^63^^!^^0^^65^^68^^65^^8'~'^^26'~~29"2^^`! %%{^^`'~'6'^^'^^,^^…| マクロツイーター
これは「TeX & LaTeX Advent Caleandar 2024」の18日めの記事です 17日めは Niccori 250k さん、19日めは doraTeX さんです。 Typstのアドカレの話の話 いきなり“TeX以外”の話で恐縮ですが、Typstのアドカレの8日目の記事において鹿野氏の話(←雑な要約)をしました。 鹿野氏の講演で述べられていた通り、「文字を複数の色に塗り分ける」には2つの方法があります。 グリフのパスでク...| マクロツイーター
この記事は 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
TeX & LaTeX Advent Calendar 2024 TeX界における年末の恒例イベントとなったということにメッチャしたいアドベントカレンダーが今年も始まりました。今年は13回目の開催となります。 重点テーマ 今年の重点テーマはコレです。 「とっておきの、(La)TeXネタ」 元々「とっておきの(La)TeXネタを皆で持ち寄る」という趣旨のアドベントカレンダーですが、今年は「メッチャとってお...| マクロツイーター
TeX & LaTeX Advent Calendar 2024 昨年(2023年)の「TeX & LaTeX Advent Calendar」はこんな感じでした。 12/01zr_tex8r重点解説! LuaLaTeXを遅くしない方法 12/02h20y6m和文VFで異体字する話 12/03uwabamiTeX on Debian 12 (Bookworm) 12/04doraTeX学習塾でのLaTeX活用事例集 ~[改訂第9版]LaTeX美文書作成入門の補足~ 12/05Yarakashi_Kikohshifunctional でもっと便利に tabularray 12/06CareleS…| マクロツイーター
とあるプログラミング言語1が超絶アレなためムシャクシャしたので、チョットTeX芸してみた。 [↓お題] ループや再帰なしで100万回Hello, World!するには? #ゆっくり解説 ショート始めました。https://t.co/2tUpBoErLh pic.twitter.com/UFXdu7QyME— えびま (@evima0) 2024年2月22日 [↓結果🙃] 想定はCみたいだけれど、関数型※(TeX言語🤮)ならこう書けるよ🤯(1ページ53行(最終ページだけ...| マクロツイーター
今回は,\if系トークンでの判定でよく使われるテクニック3選として,次の3つの技巧を紹介しましょう。 \if系トークンでの判定で OR 条件 \if系トークンでの判定で AND 条件 空文字列判定 【目次】 LaTeXの ifthen パッケージとの比較 OR条件 AND条件 空文字列判定 ifthen パッケージの欠点 テク①:\if系トークンでの判定でOR条件 テク②:\if系トークンでの判定でAND条件 応用:も...| TeX Alchemist Online
この記事はTeX & LaTeX Advent Calendar 2022の22日目の記事です. 先日,シリコンバレーにあるコンピュータ歴史博物館に行く機会がありました.ちょうど順路も中盤に差し掛かったところ,プログラミング言語の系譜を表した展示がありました.ん・・・?TeX(とLaTeX)でたー!なんとFORTRANやLISPやCに混じって,TeXとLaTeXがちゃんとプログラミング言語として展示してあったの...| むしゃくしゃしてやった,今は反省している日記
LaTeXのカウンタ値の出力の仕方として, \newcounter{test} \setcounter{test}{123} \arabic{test} % => 123 というようなのはお馴染みです。 そこで,カウンタ値を半角数字ではなく全角数字で出力する,というお題を考えましょう。 \kansuji による変換 こういうときは,(u)pTeX のプリミティブである \kansuji を使うと簡単です。\kansuji は,続く数字の文字列を漢数字の文字列へと展開する命...| TeX Alchemist Online
TeX言語🤮でよくネタにされるものとして\expandafterや\aftergroupといった“変態的なプリミティブ”がある。今回のテーマである\futureletもその“変態的なプリミティブ”の一種として紹介されることが多い。 ところが実は\futureletは「その動作を理解するだけ」であればそんなに難しいものではない。特に「他人が書いた\futureletを含むコードの動作を把握したい」という場...| マクロツイーター
多くのプログラミング言語で,(疑似コードでいうところの) for i in 1...10 do { print(i) } のような foreach 文があります。これを同様の繰り返しを LaTeX で実現するにはどうすればよいでしょうか。 pgffor パッケージの \foreach TeX Live に標準で含まれる pgffor パッケージをロードすることで,自由自在な \foreach が使えるようになります。 1,...,5 のように書けば公差1の等差数列 1,...| 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