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

請注意,您可以同時使用quantikztikzcd環境。

您也可以建立樣式來為 CD 設定適當的間距。

\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。對於簡單的交換圖,包在許多方面xytikz-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}

在此輸入影像描述

相關內容