从当前缩进位置到右边距创建一条水平线

从当前缩进位置到右边距创建一条水平线

我希望能够做类似的事情:

\hspace{2cm} \hrule

并让 LaTeX 给我一条从左边距 2cm 处到右边距的线。我四处查看了一下,作为 LaTeX 新手,这似乎不是一件容易的事情。

答案1

您需要\hrulefill为此目的使用。请参阅以下文件中包含的三个示例。

\documentclass{article}

\begin{document}

Fill the whole horizontal width

\hrulefill

\bigskip 

Fill the whole horizontal width after a cetain space 

\hspace{2cm}\hrulefill

\bigskip 

Fill between two texts

Make a horizontal \hrulefill line from the current indented

\end{document}

以下是输出。

在此处输入图片描述

为了进一步了解\hrulefill,请看这里

答案2

为此定义一个命令;\MyRule有一个可选参数,允许您指定与左边距的距离(默认= 0pt,意味着使用 just\MyRule将为您提供跨越整个文本宽度的规则):

\documentclass{article}
\usepackage{showframe}%just for the example

\newcommand\MyRule[1][0pt]{\par\noindent\hspace*{#1}\hrulefill\par}

\begin{document}

text
\MyRule[0cm]
\MyRule[2cm]
\MyRule[4in]
\MyRule[0.5\textwidth]

\end{document}

在此处输入图片描述

showframe包装仅用于提供显示边缘的视觉指导。

答案3

\hrule如果您想模拟(这是一个原始命令,要小心使用)的行为,您可以从另一个原始命令中受益\moveright

\documentclass{article}
\usepackage{lipsum}
\newcommand{\movedrule}[1]{%
  \par
  \nointerlineskip
  \moveright#1\vbox{
    \hrule width\dimexpr\linewidth-#1\relax
  }
  \nointerlineskip
}

\begin{document}
\lipsum[2]
\hrule
\lipsum[2]
\movedrule{2cm}
\lipsum[2]
\end{document}

在此处输入图片描述

相关内容