SageTeX の関連ファイルを TeXLiveのフォルダーに配置しても TeXShop でSageTeX のソースがコンパイルできない事象に対して TeXShop の SageTeX エンジンにSagemath のバージョンを書き込んでから activate して対処しました.
TeXShop のショートカット (Command-T) やメニューのTypesetでSageTeX ソースをコンパイルするために.
TeXShop を使用するアカウントごとの初期設定とコンパイルするソースごとの設定が必要です.
実際に試した使用環境
バージョン情報は以下の通りです.
- 作業記録の日付は 2019年10月12日
- macOS Mojave 10.14.6
- TeXLive2017+TeXShop 3.97 (奥村晴彦/黒木祐介 著 改訂第7版 LaTeX2ε 美文書作成入門) mac風インストール
- pdfTeX Version 3.14159265-2.6-1.40.18 (TeX Live 2017) (preloaded format=pdflatex 2018.10.7)
- SageMath-8.9
ファイルの場所は以下の通りです.
- SageMath-8.9のインストール後のファイル名:
/Applications/SageMath-8.9.app
TeXShop で SageTeX を使用する設定の資料
一度, TeXShop を起動しておくと, ~/Library/TeXShop/
のフォルダー・ツリーができます. その中に ~/Library/TeXShop/Engines/Inactive/Sage/About Sage.pdf
というファイルがあります. 中を見るとタイトルは The Sage Engine, 著者は Richard Koch
となっています. このマニュアルの読み方は Sagemath のバージョンアップごとの SageTeX と TeXShop の設定を簡単にするにはアプリにシンボリック・リンクを張ること にアップしました.
ググり易い資料には ask.sagemath.org
の SageTeX, TeXShop, and Sage.app があります.
アカウントごとに TeXShop のエンジンを初期設定
まず, エンジンのファイルを控えの場所からベンチ入りさせます. (テクニカルには, TeXShop が使用するエンジンの置き場にコピーします.)
myhome$ cp ~/Library/TeXShop/Engines/Inactive/Sage/sage.engine ~/Library/TeXShop/Engines/sage.engine
次にコピーの行き先のファイル ~/Library/TeXShop/Engines/sage.engine
をテキストエディターで開きます. ファイルの先頭から 35行目, 後ろから数えるなら5行目に
/Applications/SageMath-7.6.app/Contents/Resources/sage/sage "$sagename"
という行がありますので, Sagemath のバージョン・ナンバーを 7.6
から 8.9
に変更します.
/Applications/SageMath-8.9.app/Contents/Resources/sage/sage "$sagename"
すぐにファイルをセーブしてテキストエディターを終了します.
エンジンの編集で書き換えるバージョン・ナンバーは実際に使用する Sagemath のファイル名に合わせます. /Applications/
(/アプリケーション/
にある Sagemath のアプリが SageMath-9.0.app
の時は変更部分は
/Applications/SageMath-9.0.app/Contents/Resources/sage/sage "$sagename"
にします.
SageTeX の関連ファイルについては SageTeXのスタイルファイルはSagemathのdistributionからインストールすること を参照して下さい.
ソースごとの設定
SageTeX を使うソースの最初の行に次のマジックを入れます.
% !TEX TS-program = sage
等号の右側の名前は使用するエンジンのファイル名から拡張子 .engine
を取り除いたもののようです. (エンジンのファイル名を変更して確認しました.)
SageTeX を使用する英語文書が TeXShop でコンパイルできるようになります.
日本語文章の場合はもう少し工夫が必要です.
SageTeX + TeXShop の使用例
%!TEX TS-program = sage
\documentclass{article}
\usepackage{sagetex}
\begin{document}
title: \textsf{SageTeX} through TeXShop
file and date: 2020-01-18-sagetex-by-texshop.tex
author: @rana-aerea
Reference: % SageTeX を TeXShop で使うために Sagemath のバージョンを TeXShop に登録すること
https://qiita.com/rana-aerea/items/468f221bbab18131316e
Use \textsf{SageTex} for letting
\textsf{Sagemath} to calculate formulae in {\LaTeX} documents!
\begin{sagecommandline}
sage: P = x^3 - 7*x + 6 # assign a polynomial to P
sage: factor(P) # factorize the polynomial
\end{sagecommandline}
Compile this file by
\begin{verbatim}
Opening by TeXShop
and then by typing Command-T.
\end{verbatim}
Verified on:
\begin{verbatim}
SageMath-8.9 (macOS)
TeXShop 3.97
pdfTeX Version 3.14159265-2.6-1.40.18 (TeX Live 2017) ) (preloaded format=pdflatex 2018.10.7)
macOS Mojave 10.14.6
\end{verbatim}
\end{document}