我正在使用在这个网站上找到的在线 Tikz-cd 编辑器(关联)。它为你制作的图表提供了 tex 代码,但我无法编译它提供的代码。更具体地说,我尝试运行的代码是
\documentclass[12pt]{amsart}
\usepackage{geometry}
\usepackage[mathscr]{euscript}
\usepackage{ amssymb }
\usepackage[numbers, square, comma, sort&compress]{natbib}
\usepackage{bm}
\usepackage{enumerate}
\usepackage[english]{babel}
\usepackage{commath}
\usepackage{tikz-cd}
\usepackage{graphicx}
\usepackage{filecontents}
%\usepackage{csquotes}[autostyle, english = american]
\usepackage [autostyle, english = american]{csquotes}
\MakeOuterQuote{"}
\begin{document}
\begin{tikzcd}
{} \arrow[r, dotted] & {X_{\gamma}} \arrow[r, "F_{\gamma\beta}"] \arrow[d, "h_{\gamma}", hook] & {X_{\beta}} \arrow[r, "f_{\beta\alpha}"] \arrow[d, "h_{\beta}", hook] & {X_{\alpha}} \arrow[d,"h_{\alpha}", hook]\\
{} \arrow[r, dotted] & {X_{\gamma,n}} \arrow[r, "g_{\gamma\beta}:, two heads] & {X_{\beta,n}}\arrow[r, "g_{\beta\alpha}", two heads] & {X_{\alpha,n}}
\end{tikzcd}
\end{document}
我收到的错误信息如下:
Missing \endcsname inserted.
<to be read again>
\begingroup
l.730 \end{tikzcd}
关于如何编译此代码,您有什么想法吗?我发现这里有些人遇到了同样的错误,针对他们提出的修复方法对我不起作用,所以我认为我的序言有问题?
答案1
这里有两个问题:
在第二行中,其中一个箭头指定为
\arrow[r, "g_{\gamma\beta}:, two heads]
。您应该将其替换"g_{\gamma\beta}:
为"g_{\gamma\beta}"
,或者至少添加缺少的右引号。如果您确实需要使用该
csquotes
包,则不应设置\MakeOuterQuote{"}
,因为这将使全部处于"
活动状态,因此如果您在内部(例如在环境中)使用此字符,则会引发错误tikzcd
。
事实上,要创建此图,除了 之外,您不需要任何其他包tikz-cd
。因此,代码应该如下所示:
\documentclass[12pt]{amsart}
\usepackage{geometry}
\usepackage{tikz-cd}
%\usepackage [autostyle, english = american]{csquotes}
%\MakeOuterQuote{"}
\begin{document}
\begin{tikzcd}
{} \arrow[r, dotted] & {X_{\gamma}} \arrow[r, "F_{\gamma\beta}"] \arrow[d, "h_{\gamma}", hook] & {X_{\beta}} \arrow[r, "f_{\beta\alpha}"] \arrow[d, "h_{\beta}", hook] & {X_{\alpha}} \arrow[d,"h_{\alpha}", hook]\\
{} \arrow[r, dotted] & {X_{\gamma,n}} \arrow[r, "g_{\gamma\beta}", two heads] & {X_{\beta,n}}\arrow[r, "g_{\beta\alpha}", two heads] & {X_{\alpha,n}}
\end{tikzcd}
\end{document}