在规则中插入文本

在规则中插入文本

我很难编写一个紧凑的命令,让我在两行之间插入文本。我读了一些链接,例如还有这个,但每个方法都分别处理左线和右线

\documentclass{article}
\usepackage{amsmath} %<<=== 
\usepackage[normalem]{ulem}
\usepackage{xcolor}

\newcommand\gsout{\bgroup\markoverwith{\textcolor{gray}{\rule[0.5ex]{2pt}{2.5pt}}}\ULon}

\newcommand*{\sxrule}[1][3em]{\textcolor{gray}{\rule[0.5ex]{#1}{2.5pt}}\;}


\begin{document}

\sxrule Osservazioni \gsout{\hfill}

\end{document} 

在此处输入图片描述

有什么建议吗?谢谢

答案1

也许是这样的:

在此处输入图片描述

代码如下:

\documentclass{article}
\usepackage{xcolor}
\usepackage{lipsum}

\newlength\sxrulelength
\newcommand\sxrule[2][3em]{%
  \settowidth\sxrulelength{\,#2\,}%
  \noindent%
  \textcolor{gray}{\rule[0.5ex]{#1}{2.5pt}}\,#2\,%
  \textcolor{gray}{\rule[0.5ex]{\dimexpr\linewidth-\sxrulelength-#1\relax}{2.5pt}}%
}

\begin{document}

  \lipsum

  \sxrule{Osservazioni}

  \lipsum

\end{document}

\sxrule宏有一个可选参数,用于控制“左手”线的长度。与 OP 中一样,默认为3em

从评论来看,也许定义

\newcommand\sxrule[2][3em]{%
  \settowidth\sxrulelength{\,#2\,}%
  \noindent%
  \textcolor{gray}{\rule[0.5ex]{#1}{2.5pt}}\,\textbf{#2}\,%
  \textcolor{gray}{\rule[0.5ex]{\dimexpr\linewidth-\sxrulelength-#1\relax}{2.5pt}}%
}

更好,因为现在\sxrule{Osservazioni}将“Osservazioni”以粗体显示:

在此处输入图片描述

答案2

姆韦

\documentclass{article}
\usepackage[normalem]{ulem}
\usepackage{xcolor,lipsum}
\newcommand\filrule{{\color{gray}{\leaders
\hrule height .7ex depth -.4ex  \hfill }\hskip .0em}}
\def\ruledworld#1{\bigskip\noindent\filrule\quad%
#1\quad\filrule\bigskip\par}
\begin{document}
\ruledworld{Osservazioni}
\lipsum[2]
\ruledworld{Grandi conclusioni}
\lipsum[3]
\end{document} 

如果您不想让单词居中,而是从固定点开始,请将\filrule定义中的第一个 更改\ruledworld为正常的。或者您可以在左侧\rule留下一个,但在右侧留下几个(例如),以便将单词\filrule\filrule\filrule\filrule居中关于某个点(在该示例中,在线的 25% 处)。

相关内容