定制水平线

定制水平线

我正在尝试为我的文档实现以下样式的自定义水平规则。

在此处输入图片描述

我尝试了以下 LATEX 代码。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[top=1cm, left=1cm, right=1cm, bottom=1.5cm]{geometry}
\usepackage{xcolor,lipsum}

\begin{document}
\lipsum[1]\\
{\color{gray} \rule{4.85 cm}{2 pt}}\  {\color{lightgray} \rule{\linewidth}{2 pt}}
\lipsum[1]
\end{document}

这给出了以下令人满意的结果,但我无法打破跨越线宽的规则。如何解决这个问题?还有其他方法可以得到这种类型的水平规则吗?

在此处输入图片描述

答案1

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[top=1cm, left=1cm, right=1cm, bottom=1.5cm, showframe]{geometry}
\usepackage{xcolor,lipsum,calc}
\newlength{\spacelength}
\setlength{\spacelength}{\widthof{\ }}

\begin{document}
   \lipsum[1]\\
   {\color{gray} \rule{4.85 cm}{2 pt}}\  {\color{lightgray} \rule{\dimexpr\linewidth-4.85cm-\spacelength\relax}{2 pt}}
   \lipsum[1]
\end{document}

问题是你想要

  • 4.85厘米的规则
  • 空间
  • 和 的规则\linewidth。这当然不止一行,所以你必须缩短最后一行。你希望它有\linewidth - 2.85cm - WidthOfASpace。你只需输入 就可以计算出这个长度\dimexpr WhatYouWantToCalculate \relax。为了获得空间的宽度,我使用了-package\widthof中的calc

我添加了 showframe 选项只是geometry为了显示该线现在具有完美的长度,您可以将其删除而不会破坏任何东西。

相关内容