如何重新格式化 vdot 使其变得更大?

如何重新格式化 vdot 使其变得更大?

我正在海报中编制一组方程式,我想用\vdots表示延续,代码如下:

\documentclass[portrait,a0b,final]{a0poster}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{mathtools}

\begin{itemize}
    \item \emph{Calculation of Steady State with Successive Transition Matrices}
        \begin{itemize}
            \item Starting with the matrix power averaging technique, the time inhomogeneous steady state can be determined by the following steps:
        \end{itemize}
        \begin{align*}
            P\,(\tau) &= T_{1} \, P(0) \\
            \\
            P\,(2\tau) &= T_{2} \, T_{1} \, P(0) \\
            \\
            P\,(3\tau) &= T_{3}\, T_{2}\, T_{1} \, P(0) \\
            \shortvdotswithin{=}
        \end{align*}
\end{itemize} 
\end{document}

但编译后的版本看起来又小又挤:

方程式

如何解决这个问题,让它们的间距更长,并且点的尺寸也更大?

答案1

的原始定义\vdots

\vbox {\baselineskip 4\p@ \lineskiplimit \z@ \kern 6\p@ \hbox {.}\hbox {.}\hbox {.}}

使用正常的句号(参见\hbox命令的参数)。

如果您希望所有内容\vdots都更大并且具有更多的垂直空间,您可以重新定义它,例如使用:

\documentclass[portrait,a0b,final]{a0poster}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{mathtools}
\makeatletter
\DeclareRobustCommand{%
  \vdots}{\vbox {\huge\baselineskip 12\p@ \lineskiplimit \z@ \kern 6\p@
    \hbox {.}\hbox {.}\hbox {.}}%
}
\makeatother
\begin{document}
\begin{itemize}
    \item \emph{Calculation of Steady State with Successive Transition Matrices}
        \begin{itemize}
            \item Starting with the matrix power averaging technique, the time inhomogeneous steady state can be determined by the following steps:
        \end{itemize}
        \begin{align*}
            P\,(\tau) &= T_{1} \, P(0) \\
            \\
            P\,(2\tau) &= T_{2} \, T_{1} \, P(0) \\
            \\
            P\,(3\tau) &= T_{3}\, T_{2}\, T_{1} \, P(0) \\
            &\shortvdotswithin{=}
        \end{align*}
\end{itemize} 
\end{document}

除了使用,\huge您还可以.用您想要的任何东西来替换,例如$\bullet$(但在我看来$\bullet$太多了)。

除了重新定义,\vdots您还可以定义\vdotswithin和的新版本\shortvdotswithin

\usepackage{amsmath,amssymb,amsfonts}
\usepackage{mathtools}
\makeatletter
\DeclareRobustCommand\hugevdots{%
  \vbox {\huge\baselineskip 12\p@ \lineskiplimit \z@ \kern 6\p@
    \hbox {.}\hbox {.}\hbox {.}}%
}
\newcommand\hugevdotswithin[1]{%
  {\mathmakebox[\widthof{\ensuremath{{}#1{}}}][c]{{\hugevdots}}}}
\ExplSyntaxOn
\def\shorthugevdotswithin{\relax
  \@ifstar{\MT_svwi_aux_huge:nn{00}}{\MT_svwi_aux_huge:nn{01}}}
\def\MT_svwi_aux_huge:nn #1#2{
  \MTFlushSpaceAbove
  \if#1 \hugevdotswithin{#2}& \else &\hugevdotswithin{#2}  \fi
  \MTFlushSpaceBelow
}
\ExplSyntaxOff
\makeatother
\begin{document}
\begin{itemize}
    \item \emph{Calculation of Steady State with Successive Transition Matrices}
        \begin{itemize}
            \item Starting with the matrix power averaging technique, the time inhomogeneous steady state can be determined by the following steps:
        \end{itemize}
        \begin{align*}
            P\,(\tau) &= T_{1} \, P(0) \\
            \\
            P\,(2\tau) &= T_{2} \, T_{1} \, P(0) \\
            \\
            P\,(3\tau) &= T_{3}\, T_{2}\, T_{1} \, P(0) \\
            &\shorthugevdotswithin{=}
        \end{align*}
\end{itemize} 
\end{document}

两个示例的结果都是:

在此处输入图片描述

如果需要,您还可以增加值\kern以增加第一个点上方的空间,或者\kern在最后一个点后添加一个额外的点\hbox{…}以增加下方的空间。

答案2

我相信您只需进行修复\vdots,它就会考虑当前的字体大小。

\documentclass[portrait,a0b,final]{a0poster}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{mathtools}

\makeatletter
\renewcommand{\vdots}{%
  \vbox{%
    \baselineskip \fpeval{0.3*\f@baselineskip}\p@
    \lineskiplimit\z@
    \kern\fpeval{0.5*\f@baselineskip}\p@
    \hbox{.}\hbox{.}\hbox{.}%
  }%
}
\makeatother

\begin{document}

\begin{align*}
 P(\tau) &= T_{1} \, P(0) \\
 \\
 P(2\tau) &= T_{2} T_{1} \, P(0) \\
 \\
 P(3\tau) &= T_{3} T_{2} T_{1} \, P(0) \\
 \shortvdotswithin{=} 
 P(n\tau) &= T_{n} \dotsm T_{1} \, P(0)
\end{align*}

\end{document}

问题在于该标准\vdots使用固定尺寸。

我移除了很多放错位置的\,令牌。

在此处输入图片描述

相关内容