captionの条件によってTeX capacity exceeded, sorry [input stack size=10000]とエラーがでる

captionの条件によってTeX capacity exceeded, sorry [input stack size=10000]とエラーがでる

- 伊藤 直人 の投稿
返信数: 2

現在、下記のようなTeXコードを考えていて、\caption{Au,Ag,Alの融点$\left[\degreeCelsius\right]$}とするとTeX capacity exceeded, sorry [input stack size=10000].\degreeCelsius ->\si {\degreeCelsius とエラーが出ますが\caption{Au,Ag,Alの融点}とするとエラーは出ません。

エラーの内容を見るにメモリを使い切ったというものだと思うのですがこの程度のことでメモリを使い切ってしまうものなのでしょうか。

なにかご存知の方がおられましたらご教授頂けると幸いです。

\documentclass{jlreq}
\usepackage{multicol}
\usepackage{siunitx}
\newcommand{\degreeCelsius}{\si{\degreeCelsius}}
\begin{document}
Au,Ag,Alの融点を表\ref{Au,Ag,Alの融点}にまとめる。

\begin{table}
    \centering
    \caption{Au,Ag,Alの融点$\left[\degreeCelsius\right]$}
    \label{Au,Ag,Alの融点}
    \begin{tabular}{c|r}
        素材 & \multicolumn{1}{c}{融点$\left[\degreeCelsius\right]$} \\ \hline
        Au  & 100\\ \hline
        Ag  & 200\\ \hline
        Al  & 300\\ 
    \end{tabular}    
\end{table}
\end{document}
伊藤 直人 への返信

Re: captionの条件によってTeX capacity exceeded, sorry [input stack size=10000]とエラーがでる

- 奥村 晴彦 の投稿

\newcommand{\degreeCelsius}{\si{\degreeCelsius}} が循環定義になっていて気持ち悪いですね。別の名前で定義すればよさそうです。

奥村 晴彦 への返信

Re: captionの条件によってTeX capacity exceeded, sorry [input stack size=10000]とエラーがでる

- 伊藤 直人 の投稿

奥村先生

ご返信ありがとうございます。

奥村先生からご指摘いただいたとおり、\si{\degreeCelsius}と書くのが面倒で手抜きをするために\newcommand{\degreeCelsius}{\si{\degreeCelsius}}としていましたが\newcommand{\DegreeCelsius}{\si{\degreeCelsius}}とし、循環定義とならないようにしたところエラーが解消されました。