单独的、较大的 xypic 图之间的中心方程不起作用

单独的、较大的 xypic 图之间的中心方程不起作用

我正在尝试在显示模式下在由 生成的一对图表之间排版一个方程\xymatrix,其中这些图表已使用 垂直居中在线上\vcenter。整个方程比文本宽度宽,所以我想将其居中。我找不到一个好的解决方案,而且我在其他地方使用过的两种方法都不起作用。我无法真正将它分成两行,因为我有更复杂的例子,我不确定它是否会起作用(\align例如,在多行环境中,具有相同的成分)。我正在使用期刊提供的模板,下面 MWE 中的 ams 包是提供的,我不确定我是否可以更改它们(即使重新加载它们也无济于事)。

\documentclass[12pt]{amsart}
\usepackage{amsmath, amsthm, amscd, amsfonts} %these are all as provided, I can't change these

\usepackage[all]{xy}
\usepackage{lipsum}

\newcommand{\diagram}[1]{\vcenter{\hbox{\xymatrix{#1}}}} % also breaks without the \hbox
\newcommand{\equals}{\quad=\quad}  

\begin{document}

\lipsum[2]
\[
% \centerline{%  doesn't work
% \noindent\makebox[\textwidth]{%  also doesn't work
\hspace{-2cm} % works, but is bad
\diagram{xxxxxxxxxx \ar[r] & xxxx \ar@/^1.5pc/[r] \ar@/_1.5pc/[r] & xxx }
\equals
\diagram{&& xxxxx \ar[dr] \\
    xxxxxxxxxx \ar@/^/[urr] 
    \ar@/_/[drr] \ar[r] & 
    v^{[2]} \ar[ur] \ar[dr] && xxx\\
    && xxxxx \ar[ur]}%
% }
\]
\lipsum[2]

\end{document}

我很确定问题出在我尝试的水平对齐命令之间的交互上\vcenter,但这有点关键。MWE 示例目前提供了我想要的内容,但没有如何我要它。

答案1

将一个过大的方程式置于中心并不是什么困难的事,但我建议将其分成多行。

\vcenter不要使用 ,而要使用gathered,它采用相同的机制,但更加用户友好。

我重新定义了\diagram也接受选项\xymatrix;所以我可以稍微减少列之间的间隙并得到一个稍微不那么宽的物体。

\documentclass[12pt]{amsart}
\usepackage{amsmath, amsthm, amscd, amsfonts} %these are all as provided, I can't change these

\usepackage[all]{xy}
\usepackage{lipsum}

\newcommand{\diagram}{}% to be sure it isn't defined
\def\diagram#1#{\diagramaux{#1}}% collect everything up to the first {
\newcommand\diagramaux[2]{\begin{gathered}\xymatrix#1{#2}\end{gathered}}

\newcommand{\equals}{\quad=\quad}

\begin{document}

\lipsum[2]
\[
\hspace{1000pt minus 2000pt}
\diagram@C-8pt{xxxxxxxxxx \ar[r] & xxxx \ar@/^1.5pc/[r] \ar@/_1.5pc/[r] & xxx }
\equals
\diagram@C-8pt{&& xxxxx \ar[dr] \\
    xxxxxxxxxx \ar@/^/[urr]
    \ar@/_/[drr] \ar[r] &
    v^{[2]} \ar[ur] \ar[dr] && xxx\\
    && xxxxx \ar[ur]}
\hspace{1000pt minus 2000pt}
\]
\lipsum[2]

\end{document}

诀窍是在两边都使用柔性胶水。较大的自然尺寸会告诉 TeX 尽可能地挤压空间(实际上,在本例中什么也没做);但随后较大的收缩组件会完成居中工作,而不会溢出。

在此处输入图片描述

答案2

我不熟悉xy这个包,所以我使用了tikz-cd也适用于此类图的包。但是,这两个图的问题是一样的。

为了将“方程式!”置于文本中心,您可以使用changepage包:

\documentclass[12pt]{amsart}%{article}
\usepackage{amsmath, amsthm, amscd} %these are all as provided, I can't change these

%\usepackage[all]{xy}
\usepackage{tikz-cd}
\usepackage{lipsum}

\newcommand{\diagram}[1]{\vcenter{\hbox{\xymatrix{#1}}}} % also breaks without the \hbox
\newcommand{\equals}{\quad=\quad}

\usepackage[strict]{changepage}
\begin{document}

\lipsum[2]
\begin{adjustwidth}{-6em}{-6em}
\centering
    \begin{tikzcd}[baseline]
xxxxxxxxxx \ar[r]   & xxxx \ar[r, bend left] &  xxx \ar[l,bend left]
    \end{tikzcd}%
\equals%
    \begin{tikzcd}[baseline=-1ex]
        &   & xxxxx \ar[dr]          &       \\
xxxxxxxxxx \ar[r] \ar[urr,bend left]
                  \ar[drr, bend right]    
        &  v^{[2]}\ar[ur]  
                  \ar[dr] 
            &               & xxx   \\
        &   & xxxxx \ar[ur] &        
    \end{tikzcd}
\end{adjustwidth}
\lipsum[2]

\end{document}

在此处输入图片描述

附录: 您可以将机器人图合并为一个,并减少节点之间的分离。 之后,这个等式变得更窄:


\documentclass[12pt]{amsart}%{article}
\usepackage{amsmath, amsthm, amscd} %these are all as provided, I can't change these

%\usepackage[all]{xy}
\usepackage{tikz-cd}
\usepackage{lipsum}

\newcommand{\diagram}[1]{\vcenter{\hbox{\xymatrix{#1}}}} % also breaks without the \hbox
\newcommand{\equals}{\quad=\quad}

\usepackage[strict]{changepage}
\begin{document}

\lipsum[2]
\begin{adjustwidth}{-2.4em}{-2.4em}
%\rule{\linewidth}{1pt}
    \centering%
    \begin{tikzcd}[sep=small]
    &   &   &   &   & xxx \ar[dr]
                        &           \\
xxxxxxxxxx \ar[r]   
    & xxxx \ar[r, bend left] 
        & xxx\equals \ar[l,bend left]
            &   \hspace{-1.5em}
                xxxxxxxxxx \ar[r] \ar[urr,bend left] \ar[drr, bend right]    
                &  v^{[2]}  \ar[ur] \ar[dr] 
                    &   & xxx       \\
    &   &   &   &   & xxxxx \ar[ur] 
                        &        
    \end{tikzcd}
\end{adjustwidth}
\lipsum[2]

\end{document}

在此处输入图片描述

相关内容