喜欢
Hello World
...........
或者
Hello World
-----------
但事实并非如此
Hello World // \underline{Hello World}
___________ //
答案1
(免责声明:在文本上加下划线可能被视为印刷上的不良做法。)
我能想到两种方法来做到这一点。
乌莱姆
如果您想要快速解决方案,此选项很好。使用\dotuline
或\dashuline
来自包ulem
。
\documentclass{article}
\usepackage[normalem]{ulem} % [normalem] prevents the package from changing the default behavior of `\emph` to underline.
\begin{document}
\dotuline{dotty}
\dashuline{dashing}
\end{document}
蒂克兹
如果您想要控制,此选项很好。您可以使用 TikZ 创建自己的宏。以下是六个宏的示例。前三个产生点下划线,后三个产生虚线下划线。
\documentclass{article}
\usepackage{tikz}
\newcommand{\udot}[1]{%
\tikz[baseline=(todotted.base)]{
\node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
\draw[dotted] (todotted.south west) -- (todotted.south east);
}%
}%
\newcommand{\udensdot}[1]{%
\tikz[baseline=(todotted.base)]{
\node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
\draw[densely dotted] (todotted.south west) -- (todotted.south east);
}%
}%
\newcommand{\uloosdot}[1]{%
\tikz[baseline=(todotted.base)]{
\node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
\draw[loosely dotted] (todotted.south west) -- (todotted.south east);
}%
}%
\newcommand{\udash}[1]{%
\tikz[baseline=(todotted.base)]{
\node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
\draw[dashed] (todotted.south west) -- (todotted.south east);
}%
}%
\newcommand{\udensdash}[1]{%
\tikz[baseline=(todotted.base)]{
\node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
\draw[densely dashed] (todotted.south west) -- (todotted.south east);
}%
}%
\newcommand{\uloosdash}[1]{%
\tikz[baseline=(todotted.base)]{
\node[inner sep=1pt,outer sep=0pt] (todotted) {#1};
\draw[loosely dashed] (todotted.south west) -- (todotted.south east);
}%
}%
\begin{document}
\uloosdot{dotty}
\udot{dotty}
\udensdot{dotty}
\uloosdash{dashing}
\udash{dashing}
\udensdash{dashing}
\end{document}
thick
请注意,您可以修改这些宏以满足您的需求。例如,您可以通过将选项添加到 来更改厚度样式\draw
,例如
\draw[dotted, thick] (todotted.south west) -- (todotted.south east);
其他修改可能是改变颜色和不透明度,例如
\draw[dotted, blue, opacity=0.25] (todotted.south west) -- (todotted.south east);
或者通过编辑中的措施来改变文本和装饰之间的距离[inner sep=1pt,outer sep=0pt]
,例如
\node[inner sep=0.8pt,outer sep=0pt] (todotted) {#1};
本答案中的所有 TikZ 代码都是对\cancel 在被取消的事物下绘制
答案2
支持通过以下方式提供dashundergaps
:
\documentclass{article}
\usepackage[dash,dot]{dashundergaps}
\begin{document}
\dotuline{dotty}
\dashuline{dashing}
\end{document}