![还有其他方法可以编写此宏(居中点填充)吗?](https://linux22.com/image/466764/%E8%BF%98%E6%9C%89%E5%85%B6%E4%BB%96%E6%96%B9%E6%B3%95%E5%8F%AF%E4%BB%A5%E7%BC%96%E5%86%99%E6%AD%A4%E5%AE%8F%EF%BC%88%E5%B1%85%E4%B8%AD%E7%82%B9%E5%A1%AB%E5%85%85%EF%BC%89%E5%90%97%EF%BC%9F.png)
我正在使用在 Stack Exchange 上找到的一个小宏来定义垂直居中的点填充,但我完全不理解它,我觉得这像是“黑客行为”。有没有其他方法可以编写这个宏,例如不使用和,\makeatletter
不\makeatother
使用?有没有其他方法可以实现类似的结果(即获得中线居中)?以下是显示效果的 MWE:@
{}
\dotfill
\RequirePackage[l2tabu,orthodox]{nag}
\documentclass[11pt,twoside,draft]{book}
\usepackage[T1]{fontenc}
\usepackage[nomath]{lmodern}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{microtype,textcomp}
\usepackage[total={6.25in,10in},left=1.25in,top=0.5in,includehead,includefoot]{geometry}
\makeatletter
\newcommand{\cdotfill}{\leavevmode\cleaders\hb@[email protected]{\hss$\cdot$\hss}\hfill\kern\z@}
\makeatother
\begin{document}
\mainmatter
\pagestyle{plain}
\chapter{A first chapter}
\section{A section title}
Blablabla blabla bla.
\dotfill
Blablabla blabla bla.
\cdotfill
Blablabla blabla bla.
\end{document}
预览: