箭筒编辑器向我展示了这个
但是当我复制、粘贴并编译一个空白的 Overleaf 项目时,我得到了这个
这是我正在使用的代码
\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 输出。
将来,如果你遇到问题颤动请输出在错误跟踪器上报告,以便可以修复它。
(同时感谢其他答案提供的解决方案。)