
Я хочу рисовать квантовые схемы и коммутативные диаграммы, поэтому я хочу использовать два пакета 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}