将 tikzcd 作为定理风格环境的参数传递

将 tikzcd 作为定理风格环境的参数传递

我想将 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对于您要输入的图表,使用不是必需的:简单的\xrightarrows 就可以了。但是,您可能需要绘制更复杂的图表,这需要一些专用的包,因此我给出了两种解决方案:

\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} 

在此处输入图片描述

相关内容