与 \hrule 等效的 \rule 是什么?

与 \hrule 等效的 \rule 是什么?

我尝试过这样设置一条与文本一样长的规则:

\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}

变量 hrule 填充示例

编辑:我修改了的定义\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}

尽管这些规则都是作为领导者构建的,因此以“填充”的方式跨越整个宽度,但它们也可以被制成特定的长度。

相关内容