我怎样才能生成点划线.-.-.-.-
?我试图在手册中查找一些东西tikz
,但没有找到任何东西。
答案1
各种预定义的虚线图案记录在15.3.2 图形参数:虚线图案手册(适用于 2015 年 8 月 29 日的 3.0.1.a 版)。它们是、 和dotted
。dashed
其中每个都有更密集和更松散的变体,例如和。其他的也同样如此。dash dot
dash dot dot
densely dashed
loosely dotted
此外,您还可以使用例如指定自定义模式dash pattern={on 4pt off 1pt on 2pt off 3pt}
,我想这是不言自明的。
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\draw [thick,dash dot] (0,1) -- (5,1);
\draw [thick,dash pattern={on 7pt off 2pt on 1pt off 3pt}] (0,0) -- (5,0);
\end{tikzpicture}
\end{document}
附录
如果您想在文本中放置这样的线条,并与周围文本更好地对齐,那么您可以将选项添加baseline=<length>
到tikzpicture
。默认情况下, 的底端tikzpicture
位于周围文本的基线上。如果您添加baseline=10pt
,则tikzpicture
将被放置在其内部坐标系中的 y=10pt 位于周围文本的基线上。
这是一个例子。\tikz
是环境的一个简短形式tikzpicture
,用于放置在文本中的简单图片。
\documentclass{article}
\usepackage{tikz}
\begin{document}
Lorem ipsum \tikz\draw [thick,dash dot] (0,0) -- (3,0); dolor sit amet
Lorem ipsum \tikz[baseline=-0.5ex]\draw [thick,dash dot] (0,0) -- (3,0); dolor sit amet
\end{document}
答案2
这是使用引线的版本。虽然所有参数都可以更改,但主要参数是\dashdotline{<length>}
绘制线,其配置如下:\dashfrac{<percent of repetition used by dash>}
; \replength=<repetition-length>\relax
。
\documentclass[10pt]{article}
\newlength\replength
\newcommand\repfrac{.40}% PERCENT OF REPETITION USED BY DASH
\newcommand\dashfrac[1]{\renewcommand\repfrac{#1}}% MACRO TO ALTER \repfrac
\setlength\replength{8.5pt}% REPITITION LENGTH
\newcommand\rulewidth{.6pt}% DASH WIDTH
\def\dashht{.5\dimexpr\ht\strutbox-\dp\strutbox\relax}
\newcommand\tdashfill[1][\repfrac]{\cleaders\hbox to \replength{%
\smash{\rule[\dashht]{\repfrac\replength}{\rulewidth}%
\kern.5\dimexpr\replength-\repfrac\replength-2.5pt\relax%
\raisebox{\dimexpr\dashht-.3pt}{.}}}\hfill}
\newcommand\dashdotline[1]{%
\makebox[#1][l]{\tdashfill\hfil}}
\begin{document}
x\dashdotline{2in}y\par
\replength 17.5pt
x\dashdotline{1in}y\par
\dashfrac{.66}
x\dashdotline{1in}y
\end{document}
答案3
领导者还有另一个解决方案,虽然不完美,但尽可能简单:
\xleaders\hbox to 1em{$- \cdot$}\hfill $-$
如果您经常使用它,请定义一些宏作为\dashdotted
,如果您想要特定的长度而不是填充行,只需将其括在\makebox
(例如\makebox[2cm]{\dashdotted}
)中。MWE:
\documentclass[a5paper,twocolumn]{article}
\def\dashdotted{\xleaders\hbox to 1em{$- \cdot$}\hfill $-$}
\begin{document}
x\dashdotted 1\par
x\makebox[2cm]{\dashdotted}1\par
xxxxx\dashdotted 1\par
xxxxxxxxxx\dashdotted 1\par
xxxxxxxxxxxxxxx\dashdotted 1
\end{document}