将文本与公式对齐

将文本与公式对齐

我正在使用 xymatrix 包来创建下图:

在此处输入图片描述 图表比文字大,但文本不会自动转到行的中心。

以下是代码:

\documentclass[11pt]{article}
\input xy
\xyoption{all}
\usepackage[english]{babel}

\begin{document}
Let $F:I\to\mathcal C$ be a functor, the diagram 
$\xymatrix@C=1em{
F(i)\ar[rr]^{F(f)}\ar[rd]_{p_i} && F(j) \ar[dl]^{p_j}
\\
& c
}$ commutes.


\end{document}

我想要的是这个:

在此处输入图片描述

注意第二张图片中文本是如何移到线的中心的。我该如何实现这一点?非常感谢。

答案1

因为垂直居中取决于具体图的高度,所以最好使用\vcenter而不是\raise box

的用法\vcenter是:

...text $\vcenter{\hbox{$...diagram...$}}$ text...

在您的示例中:

Let $F:I\to\mathcal C$ be a functor, the diagram 
$\vcenter{\hbox{$\xymatrix@C=1em{
F(i)\ar[rr]^{F(f)}\ar[rd]_{p_i} && F(j) \ar[dl]^{p_j}
\\
& c
}$}}$ commutes.

您可以定义\cdiagram

\def\cdiagram#1{$\vcenter{\hbox{$#1$}}$}

然后使用它:

Let $HF:I\to\mathcal C$ be a functor, the diagram 
\cdiagram{\xymatrix@C=1em{
F(i)\ar[rr]^{F(f)}\ar[rd]_{p_i} && F(j) \ar[dl]^{p_j}
\\
& c
}} commutes.

答案2

正如@Jasper Habicht 在他的评论中所建议的,您可以\raisebox按如下方式使用:

\documentclass[11pt]{article}
\input xy
\xyoption{all}
\usepackage[english]{babel}

\begin{document}
Let $F:I\to\mathcal C$ be a functor, the diagram \raisebox{1.5em}{$\xymatrix@C=1em{
F(i)\ar[rr]^{F(f)}\ar[rd]_{p_i} && F(j) \ar[dl]^{p_j}
\\
& c
}$} commutes.
\end{document}

在此处输入图片描述

我真的怀疑是否有出版商会接受这种格式的文章。

附录:
一个可能的解决方案是使用wrapfig包......

\documentclass{article}
%--------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%
%---------------------------------------------------------------%
\usepackage[english]{babel}

\usepackage{wrapfig}
\setlength{\intextsep}{0pt} % <--- push image to top of paragraph
\usepackage[font=footnotesize,
            skip=1ex]{caption}
\usepackage{amsmath}

\input xy
\xyoption{all}


\begin{document}
    \begin{wrapfigure}[6]{r}{8em}% explicit reserved space for wrapfigure
    \centering\vspace*{-1ex}
$\xymatrix@C=1em{F(i)\ar[rr]^{F(f)}\ar[rd]_{p_i}    && F(j) \ar[dl]^{p_j}  \\
                                                    & c}$    
\caption{}
\label{wrapfig:1}
    \end{wrapfigure}
Let $F:I\to\mathcal C$ be a functor. A cone (under) $F$ is an object $c\in i:F(i)\to c$, one for each object $i$ of $I$, such that for any two objects $i,j\in I$ and morphism $i\xrightarrow{f}j$ of $I$, the diagram commutes, see fig. \ref{wrapfig:1}.
\end{document}

在此处输入图片描述

相关内容