Tikzcd में तिरछे लेबल

Oct 09 2020

मैं tikzcd का उपयोग करके प्राकृतिक परिवर्तन पर आरेख बना रहा था। हालांकि, मुझे नहीं पता कि आउटपुट "तिरछा" क्यों था:

\documentclass{article}
\usepackage{mathrsfs}
\usepackage{tikz-cd}
\begin{document}
\[\begin{tikzcd}
\mathscr{O}(X)^{op}
\arrow[r, bend left, "\Lambda A"]
\arrow[r, bend right, swap, "\Lambda A'"]
\arrow[r, phantom, bend left, shift right=0.2ex, ""{name=U}]
\arrow[r, phantom, bend right, shift left=0.2ex, swap, ""{name=D}]
&\textbf{Set}
\arrow[Rightarrow, from=U, to=D, "\Lambda f"]
\end{tikzcd}\]
\end{document}

मुझे निम्न तिरछा आउटपुट मिला:

अब जब एक समान कोड की तुलना में:

\documentclass{article}
\usepackage{mathrsfs}
\usepackage{tikz-cd}
\begin{document}
\[\begin{tikzcd}
\mathscr{A}
\arrow[r, bend left, "F"]
\arrow[r, bend right, swap, "G"]
\arrow[r, phantom, bend left, shift right=0.2ex, ""{name=U}]
\arrow[r, phantom, bend right, shift left=0.2ex, swap, ""{name=D}]
&\mathscr{B}
\arrow[Rightarrow, from=U, to=D, "\alpha"]
\end{tikzcd}\]
\end{document}

और यह एक सुंदर उत्पादन देता है:

क्या इसे ठीक करने का कोई तरीका है?

जवाब

2 Zarko Oct 09 2020 at 11:52

तीर लेबल पदों के मैनुअल ट्विक के साथ:

\documentclass{standalone}%article
\usepackage{mathrsfs}
\usepackage{tikz-cd}

\begin{document}
%\[
\begin{tikzcd}
\mathscr{O}(X)^{op}
    \ar[r, bend  left, pos=0.47, "\Lambda A"]
    \ar[r, bend right, pos=0.47, swap, "\Lambda A'"]
    \ar[r, phantom, bend left, ""{name=U}]
    \ar[r, phantom, bend right, pos=0.47, ""{name=D}]
        &   \textbf{Set}
                \ar[Rightarrow, from=U, to=D, "\Lambda f"]
\end{tikzcd}
%\]
\end{document}

2 SandyG Dec 14 2020 at 04:26

मुद्दा यह है कि ऊंचाई और चौड़ाई की ऊंचाई और चौड़ाई से \mathscr{O}(X)^{op}अलग है \textbf{Set}।

tikz-cdअसमान तीर झुकता है जब उन बक्से एक ही आकार है, जो तीर लेबल की स्थिति और की नियुक्ति को प्रभावित करता है नहीं कर रहे हैं Uऔर D।

देने के लिए एक तरह से \textbf{Set}ठीक उसी बॉक्स के रूप में \mathscr{O}(X)^{op}करने के लिए है एक अदृश्य के साथ का उपयोग कर ।\rlap\textbf{Set}\mathscr{O}(X)^{op}\phantom

मैंने पहले एक स्थान जोड़ा Setक्योंकि मुझे लगा कि यह बेहतर है। आप अपनी पसंद से हटा सकते हैं या समायोजित कर सकते हैं। इसके अलावा, दो प्रेत तीरों का उपयोग करने के बजाय, आप तीर के nameऊपर या नीचे अंतरिक्ष कर सकते हैं , जैसा कि मैंने नीचे दिए गए कोड में किया था। यदि आप चाहते हैं कि केंद्र तीर घुमावदार तीरों के करीब हो जो आप उपयोग कर सकते हैं shorten <=और shorten >=नकारात्मक मूल्यों के साथ।

\[\begin{tikzcd}
\mathscr{O}(X)^{op}
\arrow[r, bend left, "\Lambda A", ""{name=U, below}]
\arrow[r, bend right, swap, "\Lambda A'", ""{name=D, above}]
&\rlap{\textbf{\ Set}}\phantom{\mathscr{O}(X)^{op}}
\arrow[Rightarrow, from=U, to=D, "\Lambda f"]
\end{tikzcd}\]