私は量子回路図が必要な記事を執筆しており、その目的のために quantikz パッケージを使用したいと考えています。しかし、quantikz をロードすると一連のエラーが発生しました。問題は 2 つではなく 3 つの異なる要素にあると特定しましたが、解決方法がわかりません。
quantikz パッケージと cleveref パッケージの間には、何らかの競合があるはずです。興味深いことに、この競合は、gather-environment も使用している場合にのみエラーをスローします。
以下の最小限の例では、ドキュメント内に存在する各 gather-environment に対して、次のエラーが 1 回ずつ生成されます。
- タブごとに 1 つの # のみが許可されます。
- 配置タブ文字 & の位置が間違っています。
- 追加の配置タブが \cr に変更されました。
\documentclass{article}
\usepackage{quantikz}
\usepackage{cleveref}
\begin{document}
\begin{gather}
some~maths
\end{gather}
\end{document}
答え1
説明
からquantikz
マニュアル(セクション「トラブルシューティング」):
パッケージのロード順序: 特定のパッケージを間違った順序でロードすると、奇妙なエラーが発生する可能性があるという報告があります。たとえば、quantikz の後にパッケージ cleveref をロードし、分割環境を使用すると、「タブごとに 1 つの # のみが許可されます。」というエラーが発生する可能性があります。ロード順序を変更すると、このエラーは解消されます。なぜこのようなことが起こるのかはわかりません。
したがって、ロード順序を変更します。
\usepackage{cleveref}
\usepackage{quantikz}
は に使用されたcleveref
後にロードされる必要がありますが、 によっても暗黙的に使用されるため、 の前に をロードする必要があります。amsmath
gather
quantikz
amsmath
\usepackage{amsmath}
\usepackage{cleveref}
\usepackage{quantikz}
注意: を使用する場合はhyperef
、 の前に来る必要がありますcleveref
:
\usepackage{amsmath}
\usepackage{hyperref}
\usepackage{cleveref}
\usepackage{quantikz}
コード
\documentclass{article}
\usepackage{amsmath}
%\usepackage{hyperref}
\usepackage{cleveref}
\usepackage{quantikz}
\begin{document}
\begin{gather}
some~maths
\end{gather}
\end{document}