如何在同一行中绘制两条分隔线,并在其下方写居中文本?
我尝试过这个代码
\begin{flushleft}
\rule{7cm}{.01cm}
Name 1
\end{flushleft}
\hspace{1cm}
\begin{flushright}
\rule{7cm}{.01cm}
Name 2
\end{flushright}
但输出不正确,因为
这些线是分开画的(并且有足够的空间在同一条线上画两条线)
下面的文本没有居中,而是分别向左和向右移动
有人可以帮忙吗?
提前致谢
答案1
我不确定我是否 100% 理解了您想要实现的目标,但是 --- 像这样?
\documentclass{article}
\begin{document}
\begin{center}
\rule{0.4\textwidth}{1pt} \hfill \rule{0.4\textwidth}{1pt} \\
Text
\end{center}
\end{document}
无论如何,当我听到“同一行中有两条分隔线,并且文本在它们下面居中”时,我脑海中浮现的就是这个。
编辑:
为了使每行文本居中,我可以这样做:
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{Yp{1cm}Y}
\cline{1-1} \cline{3-3}
Text 1 && Text 2
\end{tabularx}
\end{document}
(Y
列类型取自@Huugo 的答案这里。)使用\cline
可能不是最佳选择,我相信有更优雅、更好看或更简单的方法来实现这一点;我还不是 TeXnician!但它可能会让你入门。
编辑2:
这是另一个版本,它使用\hrulefill
(我直到现在才知道!)而不是,并通过提供可选参数\cline
在环境的两行之间添加了一点空格——一个,准确地说,根据您的喜好进行调整。tabular
\\
ex
说到空格,两条线之间的间隙目前设置为 1 厘米,这也可以调整。此外,如果您想让整个线条tabular
变窄,可以将其宽度从 改为\textwidth
或0.8\textwidth
类似的值。(center
然后您可能希望再次将其换入环境中,否则它将与左侧齐平。)
\documentclass{article}
\usepackage{tabularx}
\newcolumntype{Y}{>{\centering\arraybackslash}X}
\begin{document}
\noindent
\begin{tabularx}{\textwidth}{Yp{1cm}Y}
\hrulefill&&\hrulefill\\[1ex]
Text 1 && Text 2
\end{tabularx}
\end{document}
希望这可以帮助!