Quantikz não é compatível com tikz-cd?

Quantikz não é compatível com tikz-cd?

Quero desenhar circuitos quânticos e diagramas comutativos, então quero usar os dois pacotes quantikze tikz-cd.

Mas de alguma forma quantikzsubstitui tikz-cd. Dê uma olhada neste código:

\documentclass[11pt,a4paper]{report}
\usepackage{tikz-cd}
\usepackage{quantikz}

\begin{document}
    
\begin{tikzcd}
    & B \\
    A \arrow[ru] &  
\end{tikzcd}

\end{document}

Isso resulta em:

insira a descrição da imagem aqui

Comentando quantikz, consigo o que quero:

insira a descrição da imagem aqui

Como posso usar os pacotes de uso e desenhar bons diagramas comutativos?

Responder1

O quantikzmanual diz:

insira a descrição da imagem aqui

Não sou especialista em quantikz, mas configurar \setwiretype{n}em todas as linhas ou wire types={n,n}no parâmetro opcional funciona.

A propósito, você não precisa carregar tikz-cdporque já está carregado por quantikz.

Observe que você pode usar ambos quantikzos tikzcdambientes.

Você também pode criar um estilo para definir o espaçamento adequado para seus CDs.

\documentclass[11pt,a4paper]{report}
\usepackage{quantikz}
\tikzset{
  mystyle/.style={
    nodes={inner sep=4pt},
    row sep=1.8em, 
    column sep=2.4em
    }
  }
  
\begin{document}

\begin{quantikz}[wire types={n,n}, mystyle]
    & B \\
    A \arrow[ru] & 
\end{quantikz}
\begin{quantikz}[mystyle]
    \setwiretype{n} & B \\
    A \setwiretype{n}\ar[ru] &
\end{quantikz}

\begin{tikzcd}[wire types={n,n}, mystyle]
    & B \\
    A \arrow[ru] &  
\end{tikzcd}
\begin{tikzcd}[nodes={inner sep=2pt}, mystyle]
    \setwiretype{n}& B \\
    A \ar[ru]\setwiretype{n} &  
\end{tikzcd}

% The following code is taken from the quantikz manual
\begin{quantikz}
\lstick{\ket{0}\\initial state} & & \push{X} & &
\meter{0/1} \arrow[r] &
\rstick{\ket{1}}\setwiretype{n}
\end{quantikz}

\end{document}

insira a descrição da imagem aqui

Responder2

Eu vi muito bem a documentação doquantikzlembrando disso de tikz-cd. Lendo atentamente o manual de ambos os pacotes observamos que eles utilizam o comando \arrow[r].

insira a descrição da imagem aqui

Acho que quantikzvejo a linha de cada array como um fio tikz-cd. Se você mudar usando xyo pacote, não terá problemas. A sintaxe xyé muito complicada e difícil de digerir inicialmente; você seria capaz de criar gráficos de comutação quase idênticos aos tikz-cd. Em muitos aspectos, xyo pacote é semelhante, para gráficos comutativos simples, a tikz-cd. Veja o exemplo abaixo.

\documentclass[11pt,a4paper]{report}
\usepackage{quantikz}
\usepackage[all,cmtip]{xy}% to have the tips of tikz-cd
\begin{document}
\begin{xymatrix}{
    & B \\
    A \ar[ru] &}  
\end{xymatrix}
\end{document}

insira a descrição da imagem aqui

informação relacionada