人は時として円周率を計算したくなる…
そういう人種はごく一部らしい、という現実を最近知った(知らなかったのか!!!)。円周率表といえば暗黒通信団の「円周率100万桁表」が有名である(詳しくは発行同人誌リスト(および概算版元在庫) :暗黒通信団を参照)。自分でそれらしいものを作ってみたくなったので作ってみることにした。思わず Lua で LaTeX してみた ~LuaTeX で日本語しない件について~も参考にさせてもらった。
気軽さを主眼において、SymPyとPythonTeXでお手軽に作ってみた。
\documentclass[8pt,a4j]{jsarticle} \usepackage[width=545pt,vscale=.9]{geometry} \pagestyle{empty} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{lmodern} \usepackage[makestderr]{pythontex} \restartpythontexsession{\thesection} \begin{document} %\maketitle \noindent \begin{flushleft} \fontsize{32}{32}\selectfont $\pi$ = 3. \end{flushleft} \begin{pycode} # coding: UTF-8 import sympy def pipi(digit): return sympy.pi.evalf(digit) digit = 10**5+1 strpi = str(pipi(digit))[2:] strpi_len = len(strpi) s = "" for x in range(0,digit+1,10): s += strpi[x:x+10]+" " if len(s)== 110: s += r"\\" print(s) s = "" \end{pycode} \end{document}
以下の様な感じになる。
円周率を求めるのが醍醐味なのにSymPyに何もかも丸投げするという手抜き!