我正在尝试使用 LaTeX 创建表格,但在编译代码时遇到错误“缺少 { 插入”。我该如何解决这个问题?
\documentclass{article}
\usepackage{amsmath}
\usepackage{quantikz}
\begin{document}
\begin{tabular}{|c|c|c|c|c|}
\hline
\textbf{Gate} & \textbf{\# of Qubits} & \textbf{Matrix} & \textbf{Circuit Diagram}
& \textbf{Info} \\ \hline
X-Pauli & 1 &
$\begin{bmatrix}
0 & 1 \\ 1 & 0
\end{bmatrix}$ &
\begin{quantikz}
\lstick{\ket{0}} & \gate{X} & \qw \rstick{\ket{1}} \
\end{quantikz}
& NOT gate \\ \hline
\end{tabular}
\end{document}
错误来自行& NOT gate \\ \hline
。我不确定问题究竟来自哪里,因为我无论如何都不打算使用数学表达式。我尝试了一些不同的方法,例如放入NOT gate
花括号或其他类似的东西,但都没有奏效。
如果您发现任何问题,请告诉我。
答案1
该quantikz
库&
全局地将角色变为活动角色。在我看来,这不是一个好的选择,而且 Ti钾即使 Z 对某些库(本地)执行了此操作,但 Z 通常不会执行此操作。
因此,quantikz
环境永远无法在内部发挥作用tabular
。
解决方法:重新定义quantikz
环境,实际上只是tikzcd
。
\documentclass{article}
\usepackage{amsmath}
\usepackage{quantikz}
\RenewDocumentEnvironment{quantikz}{O{}}{%
\begin{tikzcd}[#1]}{\end{tikzcd}}
% fix the wrongdoing
\catcode`&=4
\begin{document}
\begin{quantikz}
\lstick{\ket{0}} & \gate{X} & \qw \rstick{\ket{1}}
\end{quantikz}
\begin{tabular}{|c|c|c|c|c|}
\hline
\textbf{Gate} & \textbf{\# of Qubits} & \textbf{Matrix} & \textbf{Circuit Diagram}
& \textbf{Info} \\ \hline
X-Pauli & 1 &
$\begin{bmatrix}
0 & 1 \\ 1 & 0
\end{bmatrix}$ &
\begin{quantikz}
\lstick{\ket{0}} & \gate{X} & \qw \rstick{\ket{1}}
\end{quantikz}
& NOT gate \\ \hline
\end{tabular}
\end{document}
如果将quantikz
参数嵌套到另一个命令中,请使用ampersand replacement
,例如
\begin{quantikz}[ampersand replacement=\&]
\lstick{\ket{0}} \& \gate{X} \& \qw \rstick{\ket{1}}
\end{quantikz}