对角线中的方括号

对角线中的方括号

我在使用该软件包时遇到了问题diagxy。也就是说,texmaker 不想编译以下代码

\begin{document}
\[ 
\bfig
\Square(600,0)[[\Delta,\ y\of A[f/\bar{x}]] `[\Gamma,\ x\of A]`\Delta`  \Gamma;(f,\ y)`\pi_{A[f/\bar{x}]}`\pi_{A}`f]
\efig
\]
\end{document}

我认为问题基本上是由方括号引起的[,并]在 内使用\Square。事实上,如果我把它们拿出来,一切都会好起来。我也试过用和[替换,但这也不起作用。有没有办法规避这个问题?\left[]\right]

谢谢!

答案1

我不知道\of是什么,所以我给它一个任意的定义。

你的诊断是正确的:LaTeX 对可选参数的关闭感到困惑]。最好的方法是为此定义一个适当的宏。

\documentclass{article}
\usepackage{mathtools}
\input{diagxy}

\DeclarePairedDelimiter{\bracket}{[}{]}

\newcommand{\of}{???} % ???

\begin{document}
\[
\bfig
\Square(600,0)[
  \bracket{\Delta,\ y\of A\bracket{f/\bar{x}}} `\bracket{\Gamma,\ x\of A}`\Delta`
  \Gamma;(f,\ y)`\pi_{A\bracket{f/\bar{x}}}`\pi_{A}`f]
\efig
\]
\end{document}

在此处输入图片描述

您可能想看看它是如何实现的tikz-cd

\documentclass{article}
\usepackage{mathtools}
\usepackage{tikz-cd}

\newcommand{\of}{???}
\DeclarePairedDelimiter{\bracket}{[}{]}

\begin{document}
\[
\begin{tikzcd}[row sep=3em,column sep=4em]
\bracket{\Delta, y\of A\bracket{f/\bar{x}}}
\arrow[r,"{(f, y})"]
\arrow[d,swap,"\pi_{A\bracket{f/\bar{x}}}"] &
  \bracket{\Gamma, x\of A}
  \arrow[d,"\pi_{A}"]
\\
\Delta \arrow[r,"f" swap] & \Gamma
\end{tikzcd}
\]
\end{document}

在此处输入图片描述

相关内容