我尝试过这样设置一条与文本一样长的规则:
\rule{\textwidth}{0.4mm}
但我得到的规则比文本宽度略小。如何获得相同的效果\hrule
?
答案1
根据第 221 页电子书,的高度\hrule
为0.4pt。
\documentclass{article}
\begin{document}
\hrule
\bigskip
\noindent\rule{\textwidth}{0.4mm}
\noindent\rule{\textwidth}{0.4pt}
\end{document}
答案2
你可以使用\hrulefill
。如果你想要一个等价于\hrulefill
但高度可变的,你可以使用类似下面的代码:
\documentclass{article}
\newcommand*\varhrulefill[1][0.4pt]{\leavevmode\leaders\hrule height#1\hfill\kern0pt}
\begin{document}
\noindent\hrulefill
\noindent\varhrulefill
\noindent\varhrulefill[0.4mm]
\noindent\varhrulefill[1mm]
\end{document}
编辑:我修改了的定义\varhrulefill
以避免使用@
。
答案3
赫伯特xhfill
包裹“是用于扩展 hfillrules 的包。”它提供了
\xhrulefill
:修改尺寸\hrulefill
\xrfill
:彩色水平线\xdotfill
:虚线\hrulefill
\xhrectanglefill
:矩形填充
并在文档还定义:
\newcommand{\xfill}[2][1ex]{{%
\dimen0=#2\advance\dimen0 by #1
\leaders\hrule height \dimen0 depth -#1\hfill%
}}
\newcommand{\xfilll}[2][1ex]{%
\dimen0=#2\advance\dimen0 by #1%
\leaders\hrule height \dimen0 depth -#1\hfill%
}
以下部分取自文档,是生成的规则的示例:
\documentclass{article}
\usepackage{listings}% http://ctan.org/pkg/listings
%\usepackage{xcolor}% http://ctan.org/pkg/xcolor | Loaded by listings
\usepackage{xhfill}% http://ctan.org/pkg/xhfill
\setlength{\parindent}{0pt}% Just for this example
\newcommand{\xfill}[2][1ex]{{%
\dimen0=#2\advance\dimen0 by #1
\leaders\hrule height \dimen0 depth -#1\hfill%
}}
\newcommand{\xfilll}[2][1ex]{%
\dimen0=#2\advance\dimen0 by #1%
\leaders\hrule height \dimen0 depth -#1\hfill%
}
\begin{document}
blah\xfilll{1pt}blub
\begin{lstlisting}
blah\xfilll{1pt}blub
\end{lstlisting}
blah\xfilll{1pt}blub
\begin{lstlisting}
blah\xfilll{1pt}blub
\end{lstlisting}
blah\xfilll[0pt]{4pt}blub
\begin{lstlisting}
blah\xfilll[0pt]{4pt}blub
\end{lstlisting}
blah\xfilll[-12pt]{12pt}blub
\begin{lstlisting}
blah\xfilll[-12pt]{12pt}blub
\end{lstlisting}
blah\xrfill{1pt}[blue]blub blah\xrfill{2pt}[cyan]blub
\begin{lstlisting}
blah\xrfill{1pt}[blue]blub blah\xrfill{2pt}[cyan]blub
\end{lstlisting}
laber\xrfill[0pt]{4pt}[green]blub blub
\begin{lstlisting}
laber\xrfill[0pt]{4pt}[green]blub blub
\end{lstlisting}
blah\xrfill[-1ex]{1pt}[red]blub
\begin{lstlisting}
blah\xrfill[-1ex]{1pt}[red]blub
\end{lstlisting}
blah \xhrulefill{cyan}{1cm} blub
\begin{lstlisting}
blah \xhrulefill{cyan}{1cm} blub
\end{lstlisting}
blah \xhrectanglefill{0.5cm}{1pt} blubber
\begin{lstlisting}
blah \xhrectanglefill{0.5cm}{1pt} blubber
\end{lstlisting}
blah\xdotfill{1pt}[blue]blah\xdotfill{2pt}[red]blub
\begin{lstlisting}
blah\xdotfill{1pt}[blue]blah\xdotfill{2pt}[red]blub
\end{lstlisting}
\end{document}
尽管这些规则都是作为领导者构建的,因此以“填充”的方式跨越整个宽度,但它们也可以被制成特定的长度。