読者です 読者をやめる 読者になる 読者になる

TeX

もうひとつのTeXがチューリング完全であることの証明

TeX

この記事はTeX & LaTeX Advent Calendar 2016の17日目の記事です. 2日目はYasuhide Minodaさんでした.18日目はVoDさんです. はじめに これまで,TeXがチューリング完全であるかを証明する様々な試みがあった.ここにいくつか挙げておこう. BaSiX TeX言…

ELVMにTeXバックエンドを足した話

この記事はTeX & LaTeX Advent Calendar 2016の3日目の記事です. 2日目はdoraTeXさんでした.4日目はtex-ut-texさんです. はじめに 2017年に学ぶべき言語12位はLaTeXである.すなわち,TeX言語をホンキで語ることが求められている(Advent Calendarテーマ…

TeXだってテスト書きたい(続)

TeX

前回は,LaTeXで単体テストを書くためのスタイルファイルであるqstest.styを紹介したが,今回はそれをJenkinsと連携させる方法を述べる.Jenkinsからqstest.styの出力結果は直接読み取れない.テスト結果ならJUnitなどが吐き出すXML文書と同様の形式である必…

pdfTeXじゃないけどGhostscriptさえあれば画像は埋め込めるよねっ

TeX

2015/1/24 16:48 GhostscriptをGhostScriptと記述していました.お詫び申し上げます. はじめに こんなことがTeXユーザの集いであった.そのなかで,TeXの限界というタイトルでいくつかのトピックが示された.私の知る限り,TeXはチューリング完全なのだから…

TeXだってテスト書きたい

TeX

これはTeX & LaTeX Advent Calendar 2014,14日目の記事です. 13日目はneruko3114さん,15日目はh-kitagawaさんです. はじめに TeXでマクロを記述するにあたり,問題になるのはマクロが想定した動作をするか否かである.他のプログラミング言語*1と比較し…

LISP on TeX v1.3

TeX

久しぶりの更新はLISP on TeXバージョンアップな話.更新点は次の2つ. 環境のバグ修正 one shot continuationsの実装 詳細を示す. 環境のバグ修正 これは,Twitterやここで示されたバグ.要はローカル変数のスコープがおかしくなってしまっている.簡単な…

LISP on TeXを作る(評価器編2)

TeX

前回の続き.evalの本丸である関数適用の説明に入ろう. consセルの評価 関数適用が起こるタイミングとはすなわち,consセルが評価されるタイミングである.まずは,consセルのデータ構造を確認しておこう.consセルは,次の形をもつトークン列である. \@tl…

LISP on TeXを作る(評価器編1)

TeX

LISP on TeXネタの最終消費作業*1.今回は評価器編.ここが本丸と言いたいところだったが,あまりに分量が多かったため,評価器編は2回に分割する.前編はevalの基本構造,後編は関数適用がメインである. データ構造と評価の基本構造 再確認になるが,LISP …

LISP on TeXを作る(パーサ編)

TeX

LISP on TeXネタを全部消費して,新たなるTeX芸へ向かうためのソリューションその2.今回はパーサ編.要はS式を解釈して前回のデータ構造編で説明したデータへ変換するマクロがどのように構成されているかを示す.これから説明するマクロは,lisp-read.styに…

LISP on TeXを作る(データ構造編)

TeX

この記事はTeX & LaTeX Advent Calendar 2013の12/25担当分です. munepiさん || 2014/12/1は\@undefined はじめに TeX & LaTeX Advent Calendar 2013のトリはLISP on TeXとなった.今年はTUG2013での発表という大イベントがあった.そのときはなるべく「急…

METAFONTでUEC校章

この記事はTeX & LaTeX Advent Calendar 2013の12/7担当分です. CardinalXaroさん | | 12/8 はkuroky_plusさん> 放置ブログにAdvent Calendarの火を.放置している間に,TUG2013への参加なんかがあった.参加者は感想を投稿している人も多いのだけれど,私…

TeXと異世界の交わり

研究室のゼミでやった内容の加筆版.名称などはでっち上げなので注意. はじめに LISP on TeXがCTANに登録されてから,そろそろ一週間が経つ.TeXLiveやMikTeXに取り込まれるなどもした.更に,CTANのTopicsに「exec-foreign」が追加され,そこにlisp-on-tex…

Load to CTAN(CTANに載るまで)

TeX

祝 LISP on TeXのCTAN入り 全国のTeX Liveをお使いの皆さん.ようこそ,LISP on TeXへ.というわけで,LISP on TeXがCTAN*1に登録されました.TeX Liveで使えることは,@zr_tex8r: あわわわわわ、#texlive を update したら lisp-on-tex とかいう怖そうなパ…

LISP on TeX におけるパーサのフックな話

TeX

生きてます(唐突に). LISP on TeX更新情報 最近,修士論文も無事に提出できたので,LISP on TeXに機能拡張とかしてみた. パーサのフック機能. LISP on TeXの整数型,dimen型,およびskip型にリテラルには,それぞれ決まったプレフィクスをつけることに…

アドベントカレンダー二日目 ― \newif\ifnextyear \ifnextyeartrue

TeX

TeX & LaTeX Advent Calendar TeX で騒げ、TeX で笑え この記事は,12/2 担当分です.ZR さん | | 12/3 はk16.shikano さん> 周りは \expandafter を叫んだりする記事みたいなので,私はマイナーな(?)プリミティブである \aftergroup と LISP on TeX での…

LISP on TeX で千反田えるな話(3)

TeX

元ネタ:"LaTeXで "千反田える" してみた(1):概略"さて,LISP on TeX の時間である. といっても,プログラム的には簡単なので,今回はpTeX限定な命令を使ってやってみたがメイン.漢数字にするマクロ部分に,pTeXプリミティブ\kansujiを使ってみた.\kansu…

LISP on TeX でマンデルブロな話

TeX

LuaTeXならマンデルブロ集合も書ける。2012-10-21 14:10:01 via YoruFukurouいや,e-pLaTeX でもいけるはずだ.もっと言えば,LISP on TeX で記述できるはずだ. というわけで書いてみた.精度は時間がかかるのでだいぶ抑えているけど. 以下ソース \documen…

これでいいのかなぁ?

TeX

TeX芸人検定への解答. \catcode`@=11 \def\xx@q@end{\xx@q@@end} \def\xx@q@head{\afterassignment\xx@q@calc\let\xx@q@temp= } \def\length#1{\xx@q@head#1\xx@q@end} \def\xx@q@calc{% \show\xx@q@temp \ifx\xx@q@temp\xx@q@end \let\xx@q@next\relax \el…

これから卒業論文などでLaTeXを使う人へ向けて

TeX

余り書くことがないので,LaTeXの初心者への注意点を書いてみる. 所属研究室での使用状況がわりとひどかったから…… その情報は古くなってないですか? {\it ...}とかで書体変更はしない方がいい この書体変更法は昔(LaTeX 2.09)時代のものです.現在では…

TeXで競技プログラミングは可能か?

ジャッジシステムないので無理ですが.というのも残念なので,まずはそもそも解くことができるかについて.問題はAtCoder Regular Contest #005のA,B,C*1. A 単純な文字列比較. 正規表現が使えないけど文字列比較を TeX に任せるくらいはできる 実際は,パ…

現在の LISP on TeX における環境の実装と問題点

今日は LISP on TeX (https://bitbucket.org/hak7a3/lisp-on-tex) の環境の実装および問題点について.現状,LISP on TeX *1 の環境は次のようなトークン列になっています. \keyi{valuei}\keyii{valueii}……\keyn{valuen} 対応を追加する際には,トークン列…

始めてみた & LISP on TeX でナベアツ

主にプログラム,特にTeX関連で書かれるであろう日記を始めてみた.最初の記事がTeXの濃い話,ナベアツする件について.問題の初出はココ. これを拙作 LISP on TeX (https://bitbucket.org/hak7a3/lisp-on-tex)でやってみた.ソースコードはこんな感じ \d…