Quantikz не совместим с tikz-cd?

Quantikz не совместим с tikz-cd?

Я хочу рисовать квантовые схемы и коммутативные диаграммы, поэтому я хочу использовать два пакета quantikzи tikz-cd.

Но каким-то образом quantikzперезаписывает tikz-cd. Взгляните на этот код:

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

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

\end{document}

В результате получается:

введите описание изображения здесь

Комментируя quantikz, я получаю то, что хочу:

введите описание изображения здесь

Как использовать оба пакета и рисовать красивые коммутативные диаграммы?

решение1

В quantikzруководстве говорится:

введите описание изображения здесь

Я не эксперт в этом quantikz, но установка \setwiretype{n}в каждой строке или wire types={n,n}в необязательном параметре работает.

Кстати, вам не нужно ничего загружать, tikz-cdтак как он уже загружен quantikz.

Обратите внимание, что вы можете использовать обе среды: quantikzи .tikzcd

Вы также можете создать стиль, чтобы задать правильное расстояние между компакт-дисками.

\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}

введите описание изображения здесь

решение2

Я очень хорошо видел документациюквантикзпомня, что из tikz-cd. Внимательно прочитав руководство обоих пакетов, мы видим, что они используют команду \arrow[r].

введите описание изображения здесь

Я думаю, что quantikzрассматривайте строку каждого массива как провод в tikz-cd. Если вы переключаетесь с помощью xyпакета, у вас не возникнет проблем. Синтаксис xyочень сложен и изначально труден для понимания; вы сможете создать графы переключения, почти идентичные tikz-cd. Во многих аспектах xyпакет похож, для простых коммутативных графов, на tikz-cd. Смотрите пример ниже.

\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}

введите описание изображения здесь

Связанный контент