Tikzcd 中缺少 \endcsname

Tikzcd 中缺少 \endcsname

我有疑问錄音

我想要制作下图:

\begin{tikzcd}
G \ar[d, two heads, swap, "\varphi_1"] \ar[r, "\varphi_2"] & F_2 \\
F_1 \ar[ur, dashed, swap, "\varphi"] &
\end{tikzcd}

当我将其放入单独的文档中时,它正常工作。但是当我将其放入完整文档并使用 MikTex(使用 Texworks)进行编译时,我收到以下错误:

! Missing \endcsname inserted.
<to be read again> 
               \varphi 
l.260 \end{tikzcd}

有什么想法我可以用它做什么吗?

答案1

根据您的姓名,我怀疑您的文件是这样的

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polish]{babel}

\usepackage{tikz-cd}

\begin{document}

\title{Tytuł}
\author{Paweł Piwek}

\maketitle

\begin{tikzcd}
G \ar[d, two heads, swap, "\varphi_1"] \ar[r, "\varphi_2"] & F_2 \\
F_1 \ar[ur, dashed, swap, "\varphi"] &
\end{tikzcd}

\end{document}

在这种情况下,您应该报告的第一个错误消息是

! Argument of \language@active@arg" has an extra }.
<inserted text> 
                \par 
l.18 \end{tikzcd}

这有babel问题。请使用 修复它\usetikzlibrary{babel}

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[polish]{babel}

\usepackage{tikz-cd}
\usetikzlibrary{babel}

\begin{document}

\title{Tytuł}
\author{Paweł Piwek}

\maketitle

\begin{tikzcd}
G \ar[d, two heads, swap, "\varphi_1"] \ar[r, "\varphi_2"] & F_2 \\
F_1 \ar[ur, dashed, swap, "\varphi"] &
\end{tikzcd}

\end{document}

在此处输入图片描述

答案2

对我来说,问题是由于使用 ngerman 加载 Babel 引起的,即\usepackage[ngerman]{babel}。不幸的是,\usetikzlibrary{babel}其他答案做过不是解决问题。

对我有用的解决方案是再次使其处于"非活动状态:

\begin{document}

  % Then very soonish execute the following:
  \shorthandoff{"}

  ...
...

答案3

我只是想将其添加为评论,但我是新手。我认为值得一提的是,我在 tikzcd 中使用方括号时遇到了相同的错误消息:

\begin{tikzcd}[row sep=tiny]

[ \Sigma^j X, \Sigma^j Y ]  \arrow{dr}{\phi_j} \arrow{dd}{\Sigma^{i}}\\

& Z \\

[ \Sigma^{i+j} X, \Sigma^{i+j} Y ] \arrow{ur}[below]{\phi_{i+j}}

\end{tikzcd}

[通过将和替换]\left[和解决了这个问题\right]

答案4

Missing \endcsname inserted.我在使用 Tikz 图形时遇到了非常类似的问题( )。

上述答案均无效(尽管我使用的是babel),因此,经过大量搜索后,我逐个注释掉了包导入,发现该siunitx包单独导致 Tikz 图形在编译时崩溃。可能会帮助遇到相同错误消息和 Tikz 用法的人。

相关内容