多行居中文本的前一行和后一行

多行居中文本的前一行和后一行

我想在一些文本周围添加一条线。文本可能跨越多行。

我找到了解决方案这里它完美地做到了这一点,但它仅限于单行,当我添加第二行时会失败。

上述链接中提供的单行解决方案:

  1. \newcommand*\ruleline[1]{\par\noindent\raisebox{.8ex}{\makebox[\linewidth]{\hrulefill\hspace{1ex}\raisebox{-.8ex}{#1}\hspace{1ex}\hrulefill}}}
  2. \def\headline#1{\hbox to \hsize{\hrulefill\quad\lower.3em\hbox{#1}\quad\hrulefill}}

寻找类似这样的东西:

参考

答案1

尝试这个:

\noindent\tikz\draw (0,0)--(\linewidth,0) node[text centered,midway,fill=white,text width=30mm] () {Text\\More text\\and more text};

输出:

在此处输入图片描述

解决了:试试这个代码:

\noindent\tikz\draw (0,0)--(\linewidth,0) node[align=center,text centered,fill=white,midway] () {Text\\More text\\and more loong text};

输出:

在此处输入图片描述

答案2

随附包装varwidth

代码

\documentclass{article}
%https://tex.stackexchange.com/questions/687440/line-before-and-after-multiple-lines-of-centered-text/687442#687442
\usepackage{varwidth}
\begin{document}
\noindent\hrulefill \raisebox{-0.5ex}{\begin{varwidth}{\textwidth}
            \centering Text\\More text\\and more loong text
            \end{varwidth}}\hrulefill
\end{document}

在此处输入图片描述

相关内容