Quantikz 电路在 TexStudio 中出现错误

Quantikz 电路在 TexStudio 中出现错误

我在 Tex Studio 中处理一个大文件,使用 quantikz 创建了很多电路。问题是,每当我在第三章或之后绘制电路时,编译后的 pdf 中出现的图表都有空白。在此处输入图片描述 在此处输入图片描述

我尝试复制前几章中表现正常的电路代码,但在本章中生成电路时它们失败了,所以这不是电路代码的问题。然而,这是我用来导入它们的方法。

\begin{figure}[h]
  \centering
  \subimport{texto/circuitos/clausura/}{fasedoblecontrol.tex}
  \caption{Circuito del Algoritmo de Grover aplicado a búsqueda.}
  \label{Fase doblemente controlada}
\end{figure}

我没有收到任何相关错误,因为我收到的唯一警告来自上一章的图片。在此处输入图片描述。我也尝试过将图表的代码直接包含在主代码中,但似乎没有任何改善。

看起来问题出在之前的电路上,所以在这里我添加了一个简化版本的代码,其中只有这两个电路:

\documentclass[11pt,oneside]{book}
\usepackage[spanish]{babel}
%\usepackage[latin1]{inputenc}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsfonts,amssymb,amsmath}
\usepackage{color,tikz}
\usepackage{graphicx}
\usepackage{dsfont}
\usepackage{amsthm}%para las fuentes matematicas
\usepackage{lmodern}
\usepackage{biblatex} %Imports biblatex package
\addbibresource{Biblio.bib}%Import the bibliography file
%%%%%%%%%%%%%%%Quantum Circuits%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\usepackage{tikz}
\usetikzlibrary{quantikz2}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}
\pagestyle{plain}
\begin{figure}[h]
   \centering
   \begin{quantikz}
       & \gate[4][2.4cm]{O}\gateinput[3]{$x$}\gateoutput[3]{$x$}   & \gate[3][1.7cm]{H^{\otimes n}}     & & \gate[4][3.7cm]{S_0}\gateinput[3]{$x$}\gateoutput[3]{$x$}     & \gate[3][1.7cm]{H^{\otimes n}}     &  \\
    \vdots\\
       &  &   & &   & & \\
       & \gateinput{$-$}\gateoutput{$-\oplus f(x)$}   & & &\gateinput{$-$}\gateoutput{$-\oplus (x_1\vee \ldots \vee x_n)$}&&
   \end{quantikz}
   \caption{Operador de Grover G.}
   \label{Grover operador}
\end{figure}
\begin{figure}[h]
    \begin{center}
        \begin{quantikz}
           \lstick{\ket{0}}&\gate{R_y(\theta)}& \ctrl{1}&\\
           \lstick{\ket{\Psi_0}}&&\gate{U}&\\
           \lstick{\ket{\Psi_0'}}&&&
        \end{quantikz}
    \end{center}
    \caption{QADS de fase doblemente controlada}
    \label{fasedoblecontrol}
\end{figure}
\end{document}

有人能告诉我该怎么办吗?或者是什么导致了这个问题?

提前致谢。

答案1

您的问题相当于

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{quantikz2}

\begin{document}
 \begin{quantikz}
   & \gate[3]{O} \\
  \\
   & \\
 \end{quantikz}

 \begin{quantikz}
   & \gate{Z} & \\
   & & \\
 \end{quantikz}
\end{document}

粗略地说,第一个电路记录了第二行第二列中的单元格由全局变量中的门跨越。由于这个单元格从未被绘制,因此该指令比第一个quantikz环境存在的时间更长,并且在第二个电路中绘制该单元格时仍然存在。

[2,2]在本例中,可以通过以下方式手动重置单元格:

\makeatletter
\csundef{cell@width@2-2}
\makeatother

在两种quantikz环境之间。

不过,我想更好的做法是第一次绘制单元格,这意味着让你的第一个quantikz环境类似于

\begin{quantikz}
 & \gate[4][2.4cm]{O} \gateinput[3]{$x$} \gateoutput[3]{$x$} & \gate[3][1.7cm]{H^{\otimes n}} & & \gate[4][3.7cm]{S_0} \gateinput[3]{$x$} \gateoutput[3]{$x$} & \gate[3][1.7cm]{H^{\otimes n}} & \\
 \rstick{\vdots} & \wireoverride{n} & & & & \\
 & & & & & & \\
 & \gateinput{$-$} \gateoutput{$-\oplus f(x)$} & & & \gateinput{$-$} \gateoutput{$-\oplus (x_1\vee \ldots \vee x_n)$} & &
\end{quantikz}

在此处输入图片描述

它们\vdots并不是完美地垂直放置的,但我认为您所能做的就是手动进行操作\rstick{\raisebox{1.5ex}{\vdots}}

相关内容