我有一段文本(准确地说是章节标题),其前后都有一条规则。代码如下:
\documentclass[a4paper, 12pt]{book}
\usepackage{titlesec}
\begin{document}
\noindent\rule[\baselineskip]{6cm}{.4pt}\\
\textbf{SOME HEADER} \\ \\
\rule[\baselineskip]{6cm}{.4pt}
\titleformat{\chapter}[block]{}{}{0pt}
{%
{\large\MakeUppercase\thechapter\\}
\hrule
\vspace{\baselineskip}
\hbox{\LARGE\bfseries}
}
[\LARGE\vspace{\baselineskip}\hrule]
\chapter{Test}
\end{document}
得出
现在 - 我希望文本上方和下方的空白大小相同,这可以通过将文本垂直居中在为其所在行保留的“空间”中来实现(所以基本上,我想将文本从基线稍微抬起一点)。
我该怎么做?我一直在摆弄盒子(尤其是 \raisebox 看起来很有希望),但我对它们的工作原理感到困惑,并没有设法得到我想要的东西。我正在寻找最简单的解决方案。
编辑:David Carlisle 的解决方案在运行文本中有效,但我实际上想在 \titleformat(来自 titlesec 包)命令中使用它。更新的示例看起来会像这样(我知道我可以在 \titleformat 的“标签”字段中使用 \thechapter,但我没有这样做是有原因的):
\documentclass[a4paper, 12pt]{book}
\usepackage{titlesec}
\begin{document}
\titleformat{\chapter}[block]{}{}{0pt}
{%
{\large\MakeUppercase\thechapter\\}
\hrule
\vspace{\baselineskip}
\hbox{\LARGE\bfseries}
}
[\LARGE\vspace{\baselineskip}\hrule]
\chapter{SOME HEADER}
% The chapter header is not as I want it, but in the running text this works:
\noindent\rule[\baselineskip]{6cm}{.4pt}\\
\textbf{SOME HEADER} \\ \\
\rule[\baselineskip]{6cm}{.4pt}
\end{document}
...但现在我遇到两个新问题:
(1)文本既不是粗体也不是 \LARGE
(2)文本未在行间垂直居中
我想要的可能实现吗?
答案1
答案2
\vspace
应该可以完成这项工作。下面是代码顶部的完整示例,您可以自定义适合您的垂直空间,这里2cm
使用:
\documentclass{article}
\begin{document}
\noindent\rule[\baselineskip]{6cm}{.4pt}
\vspace{2cm}
\textbf{SOME HEADER}\\
\vspace{2cm}
\noindent\rule[\baselineskip]{6cm}{.4pt}
\end{document}
请注意,后面的空行\vspace
是故意的。