我使用 Tex 的水平很低,但现在我需要尝试格式化一些比我知道如何处理的更复杂的东西。我有一大组文本文件,我需要在标题的上方和下方添加一个 hrule,这些 hrule 已经设置了与标题的偏移量。底部 hrule 和第一段开头之间的间距在所有文件中都需要相同。
我尝试过\vspace
在每个元素之间使用,但间距总是根据该页面上剩余文本的间距而变化。有没有办法将标题和 hrules 的间距设置为不拉伸?我可以强制第一个段落始终从标题正下方的 hrule 开始相同的距离吗?
\documentclass[11pt, twoside, openright]{book}
\usepackage{lipsum}
\usepackage{nag}
\usepackage{lettrine}
\usepackage{fontspec}
\usepackage{leading}
\usepackage{needspace}
\usepackage{relsize}
\renewcommand\RSpercentTolerance{0}
\renewcommand\RSlargest{50pt}
\renewcommand\RSsmallest{6pt}
\usepackage[singlespacing]{setspace}
\usepackage[svgnames]{xcolor}
\usepackage{changepage}
\usepackage{fancyhdr}
\usepackage[paperwidth=5.4375in, paperheight=8.375in, inner=0.4531in, outer=0.4844in, top=0.7733in, bottom=0.471in, headsep=0.1106in, footskip=0.351in]{geometry}
\setlength{\marginparwidth}{0pt}
\usepackage[none]{hyphenat}
\sloppy
\usepackage{layout}
\newenvironment{RtTitle}
{
\begin{center}
\begin{spacing}{1.234}
\fontsize{22pt}{26.4pt}\selectfont
}
{
\end{spacing}
\end{center}
}
\widowpenalty=5000
\clubpenalty=5000
\setlength{\parskip}{3pt plus 3pt minus 0.2pt}
\setlength{\parindent}{18pt}
\setlength{\emergencystretch}{15pt}
\setlength{\topskip}{0pt}
\frenchspacing
\leading{11.8pt}
\begin{document}
\begin{RtTitle}
\hrule
The Title
\hrule
\end{RtTitle}
\lipsum
\end{document}
答案1
TeX 不会在 周围添加行间粘连\hrule
。您必须自己添加空格。
请注意,这spacing
是没用的:如果您想要标题中的更大行距,只需将第二个参数修改为\fontsize
。
\documentclass{book}
\usepackage{lmodern} % or any other scalable font
\newenvironment{ruledtitle}
{%
\par % ensure being in vertical mode
\begingroup % limit the scope for the font selection
\fontsize{22pt}{26.4pt}\itshape\centering
\hrule % top rule
\vspace{3pt}% spacing
}
{%
\par % end the paragraph
\vspace{3pt} % spacing
\hrule % bottom rule
\endgroup
\vspace{3\baselineskip}% space after the title
}
\begin{document}
\begin{ruledtitle}
The Title
\end{ruledtitle}
Some text follows
\end{document}
不过,为此我将使用一个命令:
\newcommand{\ruledtitle}[1]{%
\par % ensure being in vertical mode
\begingroup % limit the scope for the font selection
\fontsize{22pt}{26.4pt}\itshape\centering
\hrule % top rule
\vspace{3pt}% spacing
#1\par % the title
\vspace{3pt} % spacing
\hrule % bottom rule
\endgroup
\vspace{3\baselineskip}% space after the title
}
被称为
\ruledtitle{The Title}