新命令标题间距

新命令标题间距

为了在 \section 之间生成空间,我使用 \titlespacing*{\section}{0cm}{1cm}{0.5cm},对子节执行相同操作。是否可以在自己的命令之间生成标题间距?我需要在“Notes”之前三行空白行,在“Notes”之后一行空白行

\documentclass[10pt]{scrbook}
\usepackage{lipsum} % dummy text
\usepackage[english,ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{helvet}
\usepackage{endnotes}
\usepackage{titlesec}


% Spacing between section and text
% Syntax: \titlespacing*{<command>}{<left>}{<before-sep>}{<after-sep>}
\titlespacing*{\subsection}{0cm}{1cm}{0.5cm}
\titlespacing*{\section}{0cm}{1cm}{1cm}


 %ENDNOTENLAYOUT%
\renewcommand\enoteformat{\noindent\setlength\hangindent{0.5cm}\makebox[0.5cm][l]{\theenmark\,}}
\def\enotesize{\footnotesize}
\renewcommand{\notesname}{\normalsize\textit{Notes}}
\let\footnote=\endnote


\pagestyle{plain}
\begin{document}


\section{Beispiel}
\lipsum[1]


\subsection*{Endnotes}
\footnote{\lipsum[1]}\lipsum[2]
\footnote{\lipsum[1]}
\lipsum[1]

\theendnotes

\end{document}

在此处输入图片描述

答案1

请注意,不建议titlesec与 KOMA-Script 类一起使用。所以我将用它\RedeclareSectionCommand来更改章节标题前后的跳过。

\enoteheading用于\section*注释标题。因此,您可以添加一个\RedeclareSectionCommand以获得所需的结果。请注意,我不确定是否\enoteheading应该与 处于同一节级\section?但由于星号,没有目录条目,也没有节号。所以也许这不是问题。

\usepackage{xpatch}
\xpretocmd\enoteheading{%
  \RedeclareSectionCommand[
      beforeskip=3\baselineskip,
      afterskip=\baselineskip,
      font=\normalsize\itshape
    ]{section}%
  }{}{\PatchFailed}
\renewcommand{\notesname}{Notes}

在此处输入图片描述

代码:

\documentclass[10pt]{scrbook}
\usepackage{lipsum} % dummy text
\usepackage[english,ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{helvet}
\usepackage{endnotes}

\RedeclareSectionCommand[
  beforeskip=-1cm,
  afterskip=1cm
]{section}

\RedeclareSectionCommand[
  beforeskip=-1cm,
  afterskip=.5cm
]{subsection}

 %ENDNOTENLAYOUT%
\renewcommand\enoteformat{\noindent\setlength\hangindent{0.5cm}\makebox[0.5cm][l]{\theenmark\,}}
\def\enotesize{\footnotesize}

\usepackage{xpatch}
\xpretocmd\enoteheading{%
  \RedeclareSectionCommand[
      beforeskip=3\baselineskip,
      afterskip=\baselineskip,
      font=\normalsize\itshape
    ]{section}%
  }{}{\PatchFailed}
\renewcommand{\notesname}{Notes}

\let\footnote=\endnote

\pagestyle{plain}
\begin{document}
\section{Beispiel}
\lipsum[1]
\subsection*{Endnotes}
\footnote{\lipsum[1]}\lipsum[2]
\footnote{\lipsum[1]}
\lipsum[1]

\theendnotes
\end{document}

如果你真的有一个旧 KOMA-Script 版本(3.14 或更早版本)那么更容易使用titlesec

\documentclass[10pt]{scrbook}
\usepackage{lipsum} % dummy text
\usepackage[english,ngerman]{babel}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
\usepackage{helvet}
\usepackage{endnotes}
\usepackage{titlesec}

% Spacing between section and text
% Syntax: \titlespacing*{<command>}{<left>}{<before-sep>}{<after-sep>}
\titlespacing*{\subsection}{0cm}{1cm}{0.5cm}
\titlespacing*{\section}{0cm}{1cm}{1cm}

 %ENDNOTENLAYOUT%
\renewcommand\enoteformat{\noindent\setlength\hangindent{0.5cm}\makebox[0.5cm][l]{\theenmark\,}}
\def\enotesize{\footnotesize}
%
\usepackage{xpatch}
\xpretocmd\enoteheading{%
  \titlespacing*{\section}{0cm}{3\baselineskip}{1\baselineskip}%
}{}{\PatchFailed}
\renewcommand{\notesname}{\normalsize\textit{Notes}}
\let\footnote=\endnote

\pagestyle{plain}
\begin{document}
\section{Beispiel}
\lipsum[1]
\subsection*{Endnotes}
\footnote{\lipsum[1]}\lipsum[2]
\footnote{\lipsum[1]}
\lipsum[1]

\theendnotes
\end{document}

相关内容