我想将 tikz-cd 环境作为定理 (介于 之间[]
) 的参数传递。不幸的是,在下面的代码中,tikz-cd 环境仅显示部分。有办法修复它吗?
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsthm}
\newtheorem{thm}{Theorem}
\begin{document}
\begin{thm}
[\begin{tikzcd}%
X \arrow{r}{\psi} & Y \arrow{r}{\pi} &Z
\end{tikzcd}]
Content of theorem
\end{thm}
\end{document}
答案1
这是因为 &
它是一个活动字符。解决方法是用命令替换它。请注意,我们必须补偿环境的填充tikz-cd
。
tikz-cd
对于您要输入的图表,使用不是必需的:简单的\xrightarrow
s 就可以了。但是,您可能需要绘制更复杂的图表,这需要一些专用的包,因此我给出了两种解决方案:
\documentclass{article}
\usepackage{tikz-cd}
\usepackage{amsmath, amsthm}
\newtheorem{thm}{Theorem}
\begin{document}
\begin{thm}[$ X \xrightarrow{\makebox[2em]{$\scriptstyle\psi$}} Y \xrightarrow{\makebox[2em]{$\scriptstyle\pi$}} Z $]
Content of theorem
\end{thm}
\begin{thm}[\tikzset{ampersand replacement=\&}%
\begin{tikzcd}%
\mkern -8mu X \arrow{r}{\psi} \& Y \arrow{r}{\pi} \& Z\mkern -8mu
\end{tikzcd}]
Content of theorem
\end{thm}
\end{document}