抱歉,由于 \def 命令,TeX 容量超出

抱歉,由于 \def 命令,TeX 容量超出

我正在计划一个非常灵活的 Python 程序来计算微分方程系统的稳定状态。

我想将该程序的输出打印到.tex 文件中,如下例所示。

每个变量和每个常量都有自己的 tex 命令。我使用\def而不是\newcommand \renewcommand,因为\def如果命令已定义,则不会返回错误。

\documentclass[11pt,onehalfspacing,numbers=noenddot,openany]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[utf8]{inputenc}
\usepackage{oldgerm}
\usepackage{amsmath,amsthm,amssymb,eurosym,amsfonts}
\numberwithin{equation}{section}
\usepackage[ngerman]{babel}
\usepackage{xspace}
\usepackage[margin=2cm]{geometry}
\usepackage{graphicx}
\usepackage{pdfpages}
\begin{document}
\def\P{\mathrm{\P}}
\def\I{\mathrm{\I}}
\def\D{\mathrm{\D}}
\def\t{\mathrm{\t}}
\def\cp{\mathrm{c}_\mathrm{p}}

\chapter{Model 1}
\begin{equation}
\begin{aligned}
\P = \cp \I 
\end{aligned}
\end{equation}
\end{document}

该示例导致以下错误消息

! TeX capacity exceeded, sorry [grouping levels=255].<recently read>    \math@bgroup \P

好吧,程序至少道歉了:-)

如果我使用\newcommand/,\renewcommand我不会遇到这些问题,但我失去了更改常量/变量名称的灵活性。

您知道解决这个问题的好办法吗?

提前谢谢你!
Alex

答案1

您的\P,定义的\def\P{\mathrm{\P}},调用了一个无限循环。

你可能想要\def\P{\mathrm{P}}。同样,\I\D\t

相关内容