我正在寻找与以下虚线等同的:
\rule[<height>]{<width>}{<thickness>}
看起来像这样:
.........................
答案1
有一个规范的 TeX 命令:\leaders
https://www.tug.org/utilities/plain/cseq.html#leaders-rp
例如\hbox to 5cm{\leaders\hbox to 10pt{\hss . \hss}\hfil}
UPD:示例解释
\hbox to 5cm{}
创建水平框。此处 5cm 是点线的总长度\leaders
是创建引线的命令。引线可以创建任何框的水平或垂直重复。有关引线的更多信息,请参阅 Knuth 的 TeXBook,第 21 章,第 223 页。\hbox to 10pt{\hss . \hss}
是一个 TeX 框 - 领导者的第一个参数。在这个框中:to 10pt
是框的大小 - 改变它以使点变粗或变细,\hss . \hss
意味着“使用一个点.
作为框内容,但用无限拉伸和压缩的胶水围绕它” - 因此,不会出现未满或过满的警告。\hfil
是胶水 - 引线的第二个参数。它表示引线的长度 - 直到外框的末端。
TL;DR:要改变总宽度,请更改参数5cm
;要改变一个元素的宽度,请更改参数10pt
;要改变的不是点而是任何其他符号(一个或多个),请更改.
参数
答案2
\hdashrule
只是一个近似值,因为这些点是小方块,但你可以很容易地用 TikZ 来完成你需要做的事情。
我创建了两个命令,\dhorline
(用于水平规则)和\dvertline
(用于垂直规则),其语法与相同\rule
,其中点是实际的点。
这里有一些例子:
\documentclass{article}
\usepackage{dashrule}
\usepackage{tikz}
\usetikzlibrary{decorations.markings}
\newcommand{\dhorline}[3][0]{%
\tikz[baseline]{\path[decoration={markings,
mark=between positions 0 and 1 step 2*#3
with {\node[fill, circle, minimum width=#3, inner sep=0pt, anchor=south west] {};}},postaction={decorate}] (0,#1) -- ++(#2,0);}}
\newcommand{\dvertline}[3][0]{%
\tikz[baseline]{\path[decoration={markings,
mark=between positions 0 and 1 step 2*#2
with {\node[fill, circle, minimum width=#2, inner sep=0pt, anchor=south west] {};}},postaction={decorate}] (0, #1) -- ++(0,#3);}}
\begin{document}
With \verb|\rule{10em}{4pt}| \rule{10em}{4pt}
With \verb|\hdashrule{10em}{4pt}{4pt}|
\hdashrule{10em}{4pt}{4pt}
With \verb|\dhorline{10em}{4pt}| \dhorline{10em}{4pt}
\vspace{4pt}
With \verb|\rule[-4ex]{40pt}{1em}| \rule[-4ex]{40pt}{1em}
\vspace{4pt}
With \verb|\dhorline[-4ex]{40pt}{1em}| \dhorline[-4ex]{40pt}{1em}
With \verb|\rule{4pt}{10em}| \rule{4pt}{10em}
with \verb|\dvertline{4pt}{10em}|
\dvertline{4pt}{10em}
\vspace{4pt}
With \verb|\rule[3ex]{4pt}{10em}| \rule[3ex]{4pt}{10em}
with \verb|\dvertline[3ex]{4pt}{10em}|
\dvertline[3ex]{4pt}{10em}
\end{document}
灵感来自这个答案。