元素的自定义定位(相对于其他对象)

元素的自定义定位(相对于其他对象)

有没有办法将文本对象相对于其他对象定位?

我当前的代码:

\begin{framed}
\begin{verbatim}
    10
    6.666666666666667
    5.9259259259259265
    5.83088884457784
\end{verbatim}
\ \ \ \ \ \ $\vdots$
\begin{verbatim}
    5.818578011589186
    5.818578011589186
    5.818578011589186
\end{verbatim}
\ \ \ \ \ \ $\vdots$
\end{framed}

我在前面放置了空格,\vdots因为我想让它们相对于数字居中:

输出截图

有没有一种优雅的方法来做到这一点(即无需猜测所需的空间量等)?

答案1

您可以使用该calc包来估计最长线的宽度,并将该宽度传递给该宽度内的\makebox中心\vdots,如下所示。

\documentclass[12pt,a4paper]{article}
\usepackage{framed,calc}
\begin{document}

\begin{framed}
\begin{verbatim}
10
6.666666666666667
5.9259259259259265
5.83088884457784
\end{verbatim}
\makebox[\widthof{5.9259259259259265}]{$\vdots$}
\begin{verbatim}
5.818578011589186
5.818578011589186
5.818578011589186
\end{verbatim}
\makebox[\widthof{5.9259259259259265}]{$\vdots$}
\end{framed}
\makebox[\widthof{5.9259259259259265}]{$\vdots$}
\end{framed}

\end{document}

在此处输入图片描述

答案2

如果你需要将某些内容置于某一列的中心,并且正在寻找一种优雅的方式,则可以使用\halign

\halign{\tt#\unskip\hfil\cr
    10                  \cr
    6.666666666666667   \cr
    5.9259259259259265  \cr
    5.83088884457784    \cr
    \hfil $\vdots$      \cr
    5.818578011589186   \cr
    5.818578011589186   \cr
    5.818578011589186   \cr
    \hfil $\vdots$      \cr
}

\bye

答案3

我不知道它verbatim是做什么用的;无论如何,fancyvrb有了它,你BVerbatim就有了一个可以测量的盒子tabular

\documentclass{article}
\usepackage{framed,fancyvrb}

\begin{document}

\begin{framed}
\noindent\qquad
\begin{tabular}{@{}l@{}}
\begin{BVerbatim}[codes={\baselineskip=\normalbaselineskip}]
10
6.666666666666667
5.9259259259259265
5.83088884457784
\end{BVerbatim}
\\
\multicolumn{1}{@{}c@{}}{$\vdots$} \\[6pt]
\begin{BVerbatim}[codes={\baselineskip=\normalbaselineskip}]
5.818578011589186
5.818578011589186
5.818578011589186
\end{BVerbatim}
\\
\multicolumn{1}{@{}c@{}}{$\vdots$}
\end{tabular}
\end{framed}

\end{document}

在此处输入图片描述

更简单地说:

\documentclass{article}
\usepackage{framed}

\begin{document}

\begin{framed}
\ttfamily\noindent\qquad
\begin{tabular}{@{}l@{}}
10 \\
6.666666666666667 \\
5.9259259259259265 \\
5.83088884457784 \\
\multicolumn{1}{@{}c@{}}{$\vdots$} \\[6pt]
5.818578011589186 \\
5.818578011589186 \\
5.818578011589186 \\
\multicolumn{1}{@{}c@{}}{$\vdots$}
\end{tabular}
\end{framed}

\end{document}

相关内容