我使用 quiver 工具創建了一個圖表,但是當我編譯時它發生衝突

我使用 quiver 工具創建了一個圖表,但是當我編譯時它發生衝突

箭袋編輯器向我展示了這個

在此輸入影像描述

但是當我在空白的背頁專案中複製、貼上和編譯時,我得到了這個

在此輸入影像描述

這是我正在使用的程式碼

\documentclass{article}
\usepackage[spanish]{babel}

\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{tikz-cd}
\usetikzlibrary{babel}
\usepackage{quiver}  

\begin{document}

\[\begin{tikzcd}
    F &&& F \\
    &&&& {} \\
    {K(s_2,...,s_n)(T)} & {} & {} & {K(s_2,...,s_n)(s_1)} \\
    & {K(T)} \\
    {K(s_2,...,s_n)} &&& {K(s_2,...,s_n)}
    \arrow["{\textrm{alg.} \\ ( \textrm{transit.})}"{description}, hook, from=3-1, to=1-1]
    \arrow[shorten <=2pt, Rightarrow, from=3-2, to=3-3]
    \arrow[hook', from=3-4, to=1-4]
    \arrow["{\textrm{alg.} \\ (T \textrm{ base})}"', hook, from=4-2, to=1-1]
    \arrow[hook', from=4-2, to=3-1]
    \arrow["{\textrm{alg.}}", curve={height=-30pt}, hook', from=5-1, to=1-1]
    \arrow["{\textrm{alg.} \\ \textrm{(si no, abs)}}"', hook', from=5-1, to=3-1]
    \arrow["{\textrm{alg.}}", curve={height=-30pt}, from=5-4, to=1-4]
    \arrow["{\textrm{alg.} \\ (\textrm{transit.})}"', hook', from=5-4, to=3-4]
\end{tikzcd}\]
\end{document}

有人知道為什麼會發生這種情況嗎?

答案1

您已經在程式碼中指定了所有換行符。您無需更改圖表,只需使用以下命令即可啟用它們

\tikzcdset{
  arrows={align=center}
}

完整的 MWE:

\documentclass{article}
\usepackage[spanish]{babel}

\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{tikz-cd}
\usetikzlibrary{babel}
\usepackage{quiver}  

\tikzcdset{
  arrows={align=center}
}

\begin{document}

\[\begin{tikzcd}[sep=large]
    F &&& F \\
    &&&& {} \\
    {K(s_2,...,s_n)(T)} & {} & {} & {K(s_2,...,s_n)(s_1)} \\
    & {K(T)} \\
    {K(s_2,...,s_n)} &&& {K(s_2,...,s_n)}
    \arrow["{\textrm{alg.} \\ (\textrm{transit.})}"{description}, hook, from=3-1, to=1-1]
    \arrow[shorten <=2pt, Rightarrow, from=3-2, to=3-3]
    \arrow[hook', from=3-4, to=1-4]
    \arrow["{\textrm{alg.} \\ (T \textrm{ base})}"', hook, from=4-2, to=1-1]
    \arrow[hook', from=4-2, to=3-1]
    \arrow["{\textrm{alg.}}", curve={height=-60pt}, hook', from=5-1, to=1-1]
    \arrow["{\textrm{alg.} \\ \textrm{(si no, abs)}}"', hook', from=5-1, to=3-1]
    \arrow["{\textrm{alg.}}", curve={height=-60pt}, from=5-4, to=1-4]
    \arrow["{\textrm{alg.} \\ (\textrm{transit.})}"', hook', from=5-4, to=3-4]
\end{tikzcd}\]
\end{document}

在此輸入影像描述

答案2

我對您的程式碼進行了一些編輯,僅對左圖進行了編輯。我添加了一個array來將文字寫成兩行。

\documentclass{article}
\usepackage[spanish]{babel}
\usepackage{tikz}
\usetikzlibrary{arrows}
\usepackage{tikz-cd}
\usetikzlibrary{babel}
\usepackage{quiver}  

\begin{document}

\[\begin{tikzcd}
    F &&& F \\
    &&&& {} \\
    {K(s_2,...,s_n)(T)} & {} & {} & {K(s_2,...,s_n)(s_1)} \\
    & {K(T)} \\
    {K(s_2,...,s_n)} &&& {K(s_2,...,s_n)}
    \arrow["{\arraycolsep=1pt\def\arraystretch{0.8}\begin{array}{c} \textrm{alg.} \\ \textrm{(transit.)}\end{array}}"{description}, hook, from=3-1, to=1-1]
    \arrow[shorten <=2pt, Rightarrow, from=3-2, to=3-3]
    \arrow[hook', from=3-4, to=1-4]
    \arrow["{\arraycolsep=1pt\def\arraystretch{.8}\begin{array}{c} \textrm{alg.} \\ \textrm{($T$ base)}\end{array}}"', hook, from=4-2, to=1-1]
    \arrow[hook', from=4-2, to=3-1]
    \arrow["{\arraycolsep=.5pt\begin{array}{c} \textrm{alg.}\\ \end{array}}", curve={height=-50pt}, hook', from=5-1, to=1-1]
    \arrow["{\arraycolsep=1pt\def\arraystretch{0.8}\begin{array}{c} \textrm{\quad alg.} \\ \quad \textrm{(si no, abs)}\end{array}}"', hook', from=5-1, to=3-1]
    \arrow["{\textrm{alg.}}", curve={height=-30pt}, from=5-4, to=1-4]
    \arrow["{\textrm{alg.} \\ (\textrm{transit.})}"', hook', from=5-4, to=3-4]
\end{tikzcd}\]
\end{document}

在此輸入影像描述

答案3

這是一個錯誤顫動圖表編輯器,以前無法匯出包含換行符號的圖表。自 1.5.1 版本起此問題已修復。如果您在編輯器中重新開啟圖表(可以透過開啟匯出的圖表提供的連結來完成)並重新匯出它,您將獲得正確的 TikZ 輸出。

以後如果您遇到以下問題顫動輸出,請在錯誤追蹤器上報告它,這樣就可以修復它了。

(感謝其他答案同時提供解決方案。)

相關內容