标题中水平线之间的间距和一般间距

标题中水平线之间的间距和一般间距

我正在尝试为我的文档创建自定义标题,但水平线之间的间距或一般间距无法正常工作。以下是最小工作示例我希望这能让你更清楚地理解:

\documentclass[a4paper,12pt,DIV=15, ngerman]{scrartcl}  % parskip=half or parskip=full
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{lipsum}  
\usepackage{lmodern}


\newcommand{\mytitle}{
        \textsf{
            \begin{center}
                \rule{\textwidth}{1.6pt}\vspace*{-\baselineskip}\vspace{3.2pt} % Thick horizontal rule
                \rule{\textwidth}{0.4pt} % Thin horizontal rule
                \vspace{0.75\baselineskip} % Whitespace above the title
                \Large \textbf{Wonderfull Title} \\ %\vspace{0.3cm}
                \large\textbf{Here stands a great Subtitle}
                \rule{\textwidth}{0.4pt}\vspace*{-\baselineskip}\vspace{3.2pt} % Thin horizontal rule
                \rule{\textwidth}{1.6pt} % Thick horizontal rule
                \vspace{2\baselineskip} % Whitespace after the title block
                Last compiled on \textbf{Date} \\
                von \textbf{Author}\\
            \end{center}
        }
}

\begin{document}
    \mytitle
    
\lipsum[1]
\end{document}

结果是: 在此处输入图片描述

问题在于:

  • 底部行之间的间距似乎是故意的,但顶部行之间的间距太大,尽管它们是完全相同的代码
  • 副标题和底部两行之间有太多空白
  • 日期和作者之间的空格太多

关于这个话题我的问题是:

  1. 为什么间距是这样的?Latex 的目的是什么?我想更好地了解 tex 的内部工作原理。
  2. 我的具体间距问题该如何解决?
  3. 创建好看的标题的最佳做法是什么?

(当然我很高兴收到任何意见,因为这对于乳胶的总体实践来说更好 - 它不必直接回答问题)

提前感谢您的回答!

附言:这是我在这个论坛上的第一篇帖子,所以请对我提出建设性的批评!我真的不确定如何以最清晰的方式表达自己。

答案1

主要问题是\Large\large影响基线跳过。使用{}来限制它们的范围。

此后,就可以轻松控制元素之间的垂直空间。

关于两条平行线,请参见绘制紧密的水平线

寻找灵感,看看漂亮的标题页

有关如何按照严格规范设计封面或标题页的示例,请参阅 奇肖尔德

A

\documentclass[a4paper,12pt,DIV=15, ngerman]{scrartcl}  % parskip=half or parskip=full
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\usepackage{lipsum}  
\usepackage{lmodern}


\newcommand{\mytitle}{%
        \textsf{%
        \centering
        \hrule height 1.6pt depth 0pt width \textwidth
        \vspace{2pt}
        \hrule height 0.4pt depth 0pt width \textwidth
        \bigskip
        {\bfseries \Large Wonderfull Title} \\ \vspace{0.3cm}
        {\bfseries \large Here stands a great Subtitle} \\\vspace{10pt}
        \hrule height 0.4pt depth 0pt width \textwidth
        \vspace{2pt}
        \hrule height 1.6pt depth 0pt width \textwidth
        \vspace{\baselineskip} % Whitespace after the title block
        Last compiled on \textbf{Date} \\ \vspace{0.3cm}
        von \textbf{Author}\\
        \vspace*{3\baselineskip}    
    }
}

\begin{document}
    \mytitle
    
    \lipsum[1]
\end{document}

最后,为了保护模板并确保重复使用时的一致性,定义一个具有四个强制参数的命令:

\newcommand{\mytitle}[4]{% four mandatory parameters
\textsf{%
    \centering
    \hrule height 1.6pt depth 0pt width \textwidth
    \vspace{2pt}
    \hrule height 0.4pt depth 0pt width \textwidth
    \bigskip
    {\bfseries \Large #1} \\ \vspace{0.3cm}
    {\bfseries \large #2} \\\vspace{10pt}
    \hrule height 0.4pt depth 0pt width \textwidth
    \vspace{2pt}
    \hrule height 1.6pt depth 0pt width \textwidth
    \vspace{\baselineskip} % Whitespace after the title block
    Last compiled on \textbf{#3} \\ \vspace{0.3cm}
    von \textbf{#4}\\
    \vspace*{3\baselineskip}    
        }
    }

并使用 \mytitle{Wonderfull Title}{Here stands a great Subtitle}{Date}{Author}

答案2

如果你有

\rule{\textwidth}{0.4pt} % Thin horizontal rule
\vspace{0.75\baselineskip} % Whitespace above the title
\Large \textbf{Wonderfull Title} 

然后在水平模式下添加一条规则,然后仍然在水平模式下,当前基线跳跃的 .75 空间被存储起来,以便在下一行之后添加。然后\Large执行更改字体和当前基线跳跃(但不是刚刚存储的值)的命令,然后设置文本Wonerfull Title。然后有一个换行符,因此保存的 vspace 会添加到该文本之后。

类似地,日期后面的大空格是\vspace{2\baselineskip} 在该行以水平模式添加的,因此出现在日期后的换行符处。

您几乎总是应该\par在前面使用一个空白行(或),\vspace以便将其添加到它出现的位置,还要\par在每个大小更改处添加一个或空白行,以便当前段落设置合适的基线跳过。

相关内容