我正在尝试使用 \xymatrix 创建图表,但找不到摆脱 \vdots 上方多余垂直空间的方法 - 有人有什么建议吗?
\documentclass[10pt,a4paper,twoside]{article}
\usepackage{amsmath, amssymb}
\usepackage{amsthm}
\input xy
\xyoption{all}
\begin{document}
\[
\xymatrix @R=1pc @C=2.5pc{
B_t(\zeta) \ar@{-}[d] \\
\vdots \ar@{-}[d] \\
B_2(\zeta) \ar@{-}[d] \\
B_1(\zeta) \ar@{-}[d] \\
F(\zeta) \ar@{-}[d] \\
F }
\]
\end{document}
答案1
使用 的两个可选参数,\raisebox
您可以控制 上方和下方的空白vdots
:
\documentclass[10pt,a4paper,twoside]{article}
\usepackage{amsmath, amssymb}
\usepackage{amsthm}
\input xy
\xyoption{all}
\begin{document}
\[
\xymatrix @R=1pc @C=2.5pc{
B_t(\zeta) \ar@{-}[d]\\
\raisebox{0pt}[0.9\height][0.3\height]{$ \vdots $} \ar@{-}[d] \\
B_2(\zeta) \ar@{-}[d] \\
B_1(\zeta) \ar@{-}[d] \\
F(\zeta) \ar@{-}[d] \\
F }
\]
\end{document}
答案2
答案3
定义一个新的\myvdots
而不是\vdots
如下:
\documentclass[10pt,a4paper,twoside]{article}
\usepackage{amsmath, amssymb}
\usepackage{amsthm}
\usepackage[all]{xy}
\newcommand{\myvdots}{\raisebox{.006\baselineskip}{\ensuremath{\vdots}}}
\begin{document}
\[
\xymatrix @R=1pc @C=2.5pc{
B_t(\zeta) \ar@{-}[d] \\
\myvdots \ar@{-}[d] \\
B_2(\zeta) \ar@{-}[d] \\
B_1(\zeta) \ar@{-}[d] \\
F(\zeta) \ar@{-}[d] \\
F }
\]
\end{document}
并且有效的是
顺便说一句,对于xy
,请使用整洁的代码\usepackage[all]{xy}
。