我正在使用 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}