%This is a quine \documentclass[a4paper]{article} \usepackage{alltt} \usepackage[hmargin=5mm]{geometry} \usepackage[T1]{fontenc} \let\tbs\textbackslash \def\pc#1{\ifx0#1\%\else\tbs pc\#1\fi} \def\rt#1{\ifx0#1\\\else\tbs rt\#1\\\fi} \def\bs#1{\ifx0#1\tbs\else\tbs bs\#1\fi} \def\no#1{\ifx0#1\#\else\tbs no\#1\fi} \def\bg#1{\ifx0#1\{\else\tbs bg\#1\fi} \def\en#1{\ifx0#1\}\else\tbs en\#1\fi} \def\rec{\tbs ifx0\#1\tbs quine1\tbs else\tbs rec\tbs fi} \def\quine#1{ \pc#1This is a quine\rt#1 \bs#1documentclass[a4paper]\bg#1article\en#1\rt#1 \bs#1usepackage\bg#1alltt\en#1\rt#1 \bs#1usepackage[hmargin=5mm]\bg#1geometry\en#1\rt#1 \bs#1usepackage[T1]\bg#1fontenc\en#1\rt#1 \bs#1let\bs#1tbs\bs#1textbackslash\rt#1 \bs#1def\bs#1pc\no#11\bg#1\bs#1ifx0\no#11\bs#1\pc#1\bs#1else\bs#1tbs pc\bs#1\no#11\bs#1fi\en#1\rt#1 \bs#1def\bs#1rt\no#11\bg#1\bs#1ifx0\no#11\bs#1\bs#1\bs#1else\bs#1tbs rt\bs#1\no#11\bs#1\bs#1\bs#1fi\en#1\rt#1 \bs#1def\bs#1bs\no#11\bg#1\bs#1ifx0\no#11\bs#1tbs\bs#1else\bs#1tbs bs\bs#1\no#11\bs#1fi\en#1\rt#1 \bs#1def\bs#1no\no#11\bg#1\bs#1ifx0\no#11\bs#1\no#1\bs#1else\bs#1tbs no\bs#1\no#11\bs#1fi\en#1\rt#1 \bs#1def\bs#1bg\no#11\bg#1\bs#1ifx0\no#11\bs#1\bg#1\bs#1else\bs#1tbs bg\bs#1\no#11\bs#1fi\en#1\rt#1 \bs#1def\bs#1en\no#11\bg#1\bs#1ifx0\no#11\bs#1\en#1\bs#1else\bs#1tbs en\bs#1\no#11\bs#1fi\en#1\rt#1 \bs#1def\bs#1rec\bg#1\bs#1tbs ifx0\bs#1\no#11\bs#1tbs quine1\bs#1tbs else\bs#1tbs rec\bs#1tbs fi\en#1\rt#1 \bs#1def\bs#1quine\no#11\bg#1\rt#1 \ifx0#1\quine1\else\rec\fi\en#1\rt#1 \bs#1begin\bg#1document\en#1\rt#1 \bs#1begin\bg#1alltt\en#1\rt#1 \bs#1quine0\rt#1 \bs#1end\bg#1alltt\en#1\rt#1 \bs#1end\bg#1document\en#1\rt#1 } \begin{document} \begin{alltt} \quine0 \end{alltt} \end{document}
TeX Quine
TeX で quine 書いてみた。