😊

vscode+anacondaでpythontexを動かしてみる

2022/05/12に公開

前書き

風信子さんは某M大で工学をしていますが,昔友人に勧められたTeXを使ってレポートとかメモ書きとかをしています.正直そんなに使いこなせているわけではないのですが,こうして4年くらい使っているとあれやりたいこれやりたいとなるわけです.
特に近頃はこういう式があります,これに数値を代入して結果が出ましたねというレポートが多いのです.しかしてTeXで数式を打ち込み,手元の関数電卓で数値を代入するのは,なんだかとってもとってもナンセンスです.
そこで計算機的な機能がTeXにあればいいのにと色々調べていたのですが,TeX上でpythonを動かせるとかいうトンデモ機能があるらしいではありませんか.
ということで今回はvscodeとanaconda環境でpythontexを動かしてみましょう.

事前準備

vscode,TeXlive,anacondaについては事前にインストールしておいてください.これらは偉大なる先人たちの記事が豊富にありますので各自検索のこと.本記事ではvscodeでTeXのコンパイルができるところくらいがスタートです.

https://qiita.com/rainbartown/items/d7718f12d71e688f3573
https://kurosute.com/tex-windows/
https://gist.github.com/Ikuyadeu/204d06fffd912f441b383eb02463e29b
https://qiita.com/yuna-s/items/55b2eda97796a2d1b401

これらの偉大なる先人たちの記事を参考に設定をします.こういう記事を書くのは初めてなのですが勝手にリンク張ってよかったのでしょうか.ダメだったら謝りながらすぐ消します.

pythontexの設定

今回はTeXユーザが必ずお世話になるTeXWikiのpythontexのページのサンプルコードpow.texを実行してみます.
https://texwiki.texjp.org/?PythonTeX

pow
\documentclass{article}
\usepackage{pythontex}
\newcommand{\pow}[2]{\py{#1**#2}}
\begin{document}
$2^{10}=\pow{2}{10}$.
\end{document}

vscodeで実行するためには先述の事前準備の項で弄ったsetting.jsonに追記をします.
https://stackoverflow.com/questions/65677070/using-pythontex-in-vscode
こちらの記事を参考に,

setting
 "latex-workshop.latex.tools": [
        {
            "name": "ptex2pdf",
            "command": "ptex2pdf",
            "args": [
                "-interaction=nonstopmode",
                "-l",
                "-ot",
                "-kanji=utf8",
                "-synctex=1",
                "%DOCFILE%.tex"
            ]
        },
        {
            "name": "pythontex",
            "command": "pythontex",
            "args": [
                "%DOC%"
            ]
        },
    ],
    "latex-workshop.latex.recipes": [
        {
            "name": "toolchain",
            "tools": [
                "ptex2pdf",
                "pythontex",
                "ptex2pdf"
                
            ]
        }
    ],
    "latex-workshop.view.pdf.viewer": "tab",
    "editor.renderControlCharacters": true

こんな感じで書き足してあげます.真ん中のpythontexが書き足し部分です.

これで先ほどのpow.texをコンパイルしてあげると正常に動作するはずです.

なんかエラーが出るなという人はanacondaの環境変数がうまく通っているかを見てあげてください.それ以外はわ,わかんないっピ......です.

まとめ

今回はvscodeとanaconda環境でpythontexを動かしてみました.
こういった感じで新規コマンドとしてよく使う計算とかを足していってあげれば僕の理想としたナンセンスでないレポート作成ができるはずです.なんなら計算だけじゃなくて図の生成とかもできるので結構夢あふれた機能だと思います.無断リンクとかで怒られたら謝りながら消すので許してください.続編は気が向いたら書きます.

Discussion