
Я хотел бы заполнить пространство между записями смежного столбца в таблице точками. Мой подход на данный момент заключается в использовании \dotfill& \dotfill
:
\documentclass{article}
\usepackage{tabularx}
\usepackage{booktabs}
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{bm}
\begin{document}
\begin{table}[]
\begin{tabular}{l@{}r}
\toprule
Symbol & Description \\
\midrule
$a$\dotfill&\dotfill scalar \\
$\bm{v}$\dotfill&\dotfill vector \\
$||\bm{v}||$\dotfill&\dotfill $l_2$ norm of vector $\bm{v}$ \\
$\langle \bm{v} \bm{u} \rangle$\dotfill&\dotfill inner product of vectors $\bm{v}$ and $\bm{u}$ \\
$\bm{A}$\dotfill&\dotfill matrix or higher order tensor \\
$\bm{A}^\top$\dotfill&\dotfill transpose of matrix $\bm{A}$ \\
$\bm{A}^{-1}$\dotfill&\dotfill inverse of matrix $\bm{A}$\\
$\bm{v_i}$\dotfill&\dotfill $i$th vector \\
$\bm{v}_i$\dotfill&\dotfill $i$th entry of vector $\bm{v}$ \\
$\bm{A}_{ij}$\dotfill&\dotfill entry at height $i$ and width $j$ of matrix $\bm{A}$ \\
$\bm{T}_{ijk}$\dotfill&\dotfill entry at height $i$, width $j$ and depth $k$ of order three tensor $\bm{T}$ \\
$M$\dotfill&\dotfill set\\
$\mathbf{X}$\dotfill&\dotfill random variable\\
$x \sim \mathbf{X}$\dotfill&\dotfill $x$ is distribited according to $\mathbf{X}$\\
$\Pr_\mathbf{X}(x)$\dotfill&\dotfill probability of event $\mathbf{X} = x$\\
$\nabla f$\dotfill&\dotfill gradient of function $f$\\
$\theta$\dotfill&\dotfill set of hyper parameters of a model\\
\bottomrule
\end{tabular}
\end{table}
\end{document}
Но это не работает полностью, так как в пунктирной линии, где расположен разделитель столбцов, есть пробелы:
Я рассматривал похожие вопросы, например, этот:
Заполните пространство внутри таблицы точками.
Но ответы кажутся слишком сложными для моей структуры таблицы.
Есть ли лучшее решение для такой простой таблицы?
решение1
Хорошо, вот решение, которое использует, \dotfill
избегая при этом проблемы создания неприглядного зазора в некоторых рядах точек. Решение заключается в преобразовании всей tabular
структуры в один столбец и замене всех 17 экземпляров на \dotfill&\dotfill
просто \dotfill
.
В следующем коде я использовал окружение tabularx
и установил его ширину равной \textwidth
.
\documentclass{article}
\usepackage{tabularx,booktabs,mathtools,bm}
\begin{document}
\begin{table}
\begin{tabularx}{\textwidth}{@{}X@{}}
\toprule
Symbol \hfill Description \\
\midrule
$a$ \dotfill scalar \\
$\bm{v}$ \dotfill vector \\
$\lVert\bm{v}\rVert$ \dotfill $l_2$ norm of vector $\bm{v}$ \\
$\langle \bm{v}, \bm{u} \rangle$ \dotfill inner product of vectors $\bm{v}$ and $\bm{u}$ \\
$\bm{A}$ \dotfill matrix or higher order tensor \\
$\bm{A}^\top$ \dotfill transpose of matrix $\bm{A}$ \\
$\bm{A}^{-1}$ \dotfill inverse of matrix $\bm{A}$\\
$\bm{v_i}$ \dotfill $i$th vector \\
$\bm{v}_i$ \dotfill $i$th entry of vector $\bm{v}$ \\
$\bm{A}_{ij}$ \dotfill entry at height $i$ and width $j$ of matrix $\bm{A}$ \\
$\bm{T}_{ijk}$ \dotfill entry at height $i$, width $j$ and depth $k$ of order three tensor $\bm{T}$ \\
$M$ \dotfill set\\
$\mathbf{X}$ \dotfill random variable\\
$x \sim \mathbf{X}$ \dotfill $x$ is distribited according to $\mathbf{X}$\\
$\Pr_\mathbf{X}(x)$ \dotfill probability of event $\mathbf{X} = x$\\
$\nabla f$ \dotfill gradient of function $f$\\
$\theta$ \dotfill set of hyper parameters of a model\\
\bottomrule
\end{tabularx}
\end{table}
\end{document}
решение2
Если говорить обо мне, то я нахожу, что макет, показанный на вашем скриншоте, трудно воспринимать всерьез. Это не зависит от того, есть ли небольшой зазор между точками двух столбцов. Для меня распространение точек опасно близко к крику во весь голос: «Смотри, ма, я придумал, как набрать много точек в ряд!» Ваша мать, возможно, склонна выражать свою любовь, восхищение и безоговорочную поддержку, но другим читателям, как правило, трудно воспринимать такие визуальные проявления всерьез.
Учитывая разницу в ширине двух столбцов, причем первый столбец намного уже второго, я не вижу ничего плохого в том, чтобы выровнять оба столбца по левому краю — и воздержаться от использования каких-либо \hdotfill
директив. Чтобы создать некоторый (значимый) визуальный интерес, рассмотрите возможность добавления небольшого дополнительного вертикального пробела примерно через каждые 5 строк.
\documentclass{article}
\usepackage{tabularx,booktabs,mathtools,bm}
\newcolumntype{L}{>{$}l<{$}} % left aligned and automatic math mode
\begin{document}
\begin{table}[]
\centering
\begin{tabular}{@{}Ll@{}}
\toprule
$Symbol$ & Description \\
\midrule
a
& scalar \\
\bm{v}
& vector \\
\lVert\bm{v}\rVert
& $l_2$ norm of vector $\bm{v}$ \\
\langle \bm{v},\bm{u} \rangle
& inner product of vectors $\bm{v}$ and $\bm{u}$ \\
\bm{A}
& matrix or higher order tensor \\
\addlinespace
\bm{A}^\top
& transpose of matrix $\bm{A}$ \\
\bm{A}^{-1}
& inverse of matrix $\bm{A}$\\
\bm{v_i}
& $i$th vector \\
\bm{v}_i
& $i$th entry of vector $\bm{v}$ \\
\bm{A}_{ij}
& entry at height $i$ and width $j$ of matrix $\bm{A}$ \\
\addlinespace
\bm{T}_{ijk}
& entry at height $i$, width $j$ and depth $k$ of order-three tensor $\bm{T}$ \\
M
& set\\
\mathbf{X}
& random variable\\
x\sim\mathbf{X}
& $x$ is distributed according to $\mathbf{X}$\\
\Pr_{\mathbf{X}}(x)
& probability of event $\mathbf{X} = x$\\
\addlinespace
\nabla f
& gradient of function $f$\\
\theta
& set of hyperparameters of a model\\
\bottomrule
\end{tabular}
\end{table}
\end{document}