tikzcd 中的重叠列

tikzcd 中的重叠列

左下角和右下角的表达式不需要相距太远。我可以让它们靠得更近一些吗?我猜这意味着让外列与中间列重叠。

代码

\documentclass{article}
\usepackage{tikz-cd, amsmath}
\begin{document}
    \begin{tikzcd}
        & x_1 + \frac{a_{12}}{a_{11}}x_2 + \frac{a_{13}}{a_{11}}x_3 \arrow[equals, d] \\
        & 0 \arrow[equals, ld] \arrow[equals, rd] & \\
        x_1 + \frac{a_{22}}{a_{21}}x_2 + \frac{a_{23}}{a_{21}}x_3 & & x_1 + \frac{a_{32}}{a_{32}}x_2 + \frac{a_{33}}{a_{31}}x_3
    \end{tikzcd}
\end{document}

在此处输入图片描述

答案1

这是否更好?

\documentclass{article}
\usepackage{tikz-cd, amsmath}

\begin{document}

    \begin{tikzcd}[column sep=-3em]
        & x_1 + \frac{a_{12}}{a_{11}}x_2 + \frac{a_{13}}{a_{11}}x_3 \arrow[equals, d] \\
        & 0 \arrow[equals, ld] \arrow[equals, rd] & \\
        x_1 + \frac{a_{22}}{a_{21}}x_2 + \frac{a_{23}}{a_{21}}x_3 & & x_1 + \frac{a_{32}}{a_{32}}x_2 + \frac{a_{33}}{a_{31}}x_3
    \end{tikzcd}

\end{document} 

在此处输入图片描述

答案2

作为@Bernard 解决方案的替代方案,您可以将顶部条目括在 中\mathclap以消除其宽度。注意:\mathclap需要mathtools包,您可以使用它代替amsmath

在此处输入图片描述

这样做的好处是只消除特定条目的宽度,而无需调整整个图表的列间距。

column sep如果需要,您也可以减少该值。此外,您还可以将部分\mathllap(左重叠)或\mathrlap(右重叠)中的表达式:

x_1 + \frac{a_{22}}{a_{21}}x_2 + \mathrlap{\frac{a_{23}}{a_{21}}x_3}

以下是代码:

\documentclass{article}
\usepackage{tikz-cd, mathtools}
\begin{document}
    \begin{tikzcd}
        & \mathclap{x_1 + \frac{a_{12}}{a_{11}}x_2 + \frac{a_{13}}{a_{11}}x_3} \arrow[equals, d] \\
        & 0 \arrow[equals, ld] \arrow[equals, rd] & \\
        x_1 + \frac{a_{22}}{a_{21}}x_2 + \frac{a_{23}}{a_{21}}x_3 & & x_1 + \frac{a_{32}}{a_{32}}x_2 + \frac{a_{33}}{a_{31}}x_3
    \end{tikzcd}
\end{document}

相关内容