Konflikt zwischen den Umgebungen Quantikz, Cleveref und Gather

Konflikt zwischen den Umgebungen Quantikz, Cleveref und Gather

Ich schreibe einen Artikel, für den ich eine Quantenschaltkreisfigur benötige und möchte dafür das Paket Quantikz verwenden. Beim Laden von Quantikz traten jedoch eine Reihe von Fehlern auf. Ich habe festgestellt, dass das Problem nicht auf zwei, sondern auf drei verschiedene Elemente zurückzuführen ist, kann aber nicht herausfinden, wie ich es lösen kann.

Es muss einen Konflikt zwischen den Paketen Quantikz und Cleveref geben. Interessanterweise verursacht dieser Konflikt nur dann Fehler, wenn auch eine Gather-Umgebung verwendet wird.

Das folgende Minimalbeispiel erzeugt für jede im Dokument vorhandene Gather-Umgebung jeweils einmal die folgenden Fehler:

  1. Pro Registerkarte ist nur ein # zulässig.
  2. Falsch platziertes Ausrichtungstabierzeichen &.
  3. Die zusätzliche Ausrichtungsregisterkarte wurde in \cr geändert.
\documentclass{article}
\usepackage{quantikz}
\usepackage{cleveref}

\begin{document}
    \begin{gather}
        some~maths
    \end{gather}
\end{document}

Antwort1

Beschreibung

Von demquantikz Handbuch(Abschnitt „Fehlerbehebung“):

Paketladereihenfolge: Ich habe Berichte erhalten, dass das Laden bestimmter Pakete in der falschen Reihenfolge seltsame Fehler verursachen kann. Wenn Sie beispielsweise das Paket cleveref nach quantikz laden und dann eine geteilte Umgebung verwenden, kann dies zu dem Fehler „Pro Tab ist nur ein # zulässig“ führen. Ändern Sie die Ladereihenfolge und der Fehler verschwindet. Ich habe keine Ahnung, warum das passiert.

Ändern Sie also die Ladereihenfolge.

\usepackage{cleveref}
\usepackage{quantikz}

Da cleverefdanach geladen werden muss, amsmathwas für verwendet wird gather, aber auch implizit von verwendet wird quantikz, müssen Sie amsmathdavor laden:

\usepackage{amsmath}
\usepackage{cleveref}
\usepackage{quantikz}

Hinweis: Wenn Sie verwenden möchten hyperef, muss es vor stehen cleveref:

\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{cleveref}
\usepackage{quantikz}

Code

\documentclass{article}
\usepackage{amsmath}
%\usepackage{hyperref}
\usepackage{cleveref}
\usepackage{quantikz}

\begin{document}
    \begin{gather}
        some~maths
    \end{gather}
\end{document}

verwandte Informationen