减少脚本中两个(自定义)段落之间的间距

减少脚本中两个(自定义)段落之间的间距

我定义了一个名为 的自定义段落,myparagraph将其用作文档中未编号的小标题。原因是我喜欢标题的字体paragraph,与 相比,它不那么粗体\textbf{}

现在我刚刚意识到每次使用myparagraph都会留下太多的垂直空间,请参见下面的带有红色间隙的图片:

在此处输入图片描述

我需要myparagraphs通过某种方式重新定义来控制这两者之间的差距,无论是全局的还是局部的(也许使用现在使用的一半的值,或者接近的值,以节省空间)myparagraph

编辑:如果您有其他解决方案,请随意发布。它不一定是 的重新定义paragraph

编辑2:标题不应成为目录的一部分。它们应该是最低级别的非常简单的标题,也就是说,仅此而已。

代码很简单:

\documentclass[a4paper, 12pt, headsepline, headings=small,]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
\usepackage[a4paper,showframe]{geometry}
\geometry{left=2cm,right=5cm,top=2cm,bottom=2cm}
\usepackage[pangram]{blindtext}

\newcommand{\myparagraph}[1]{\paragraph{#1}\mbox{}\\[3pt]}

\begin{document}

\myparagraph{Test}
\Blindtext[1][1]
\myparagraph{Test}
\Blindtext[1][1]
\textbf{}
\end{document}

错误日志:

! Undefined control sequence.
<argument> \subparagraphnumdepth 

答案1

使用特定的 KOMA-Script 命令的解决方案\minisec可能更适合此处假定的用法:

\documentclass[12pt, headsepline, headings=small,]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
\usepackage[a4paper,showframe]{geometry}
\geometry{left=2cm,right=5cm,top=2cm,bottom=2cm}

\usepackage{kantlipsum}% another package for dummy text

\let\OrigMinisec\minisec
\renewcommand{\minisec}[2][0pt]{\vspace{#1}\OrigMinisec{#2}}

\begin{document}

\kant[1]
\minisec{Minisection 1}
\kant[2]
\minisec[-1ex]{Minisection 2}
\kant[3]
\minisec[-0.75\baselineskip]{Minisection 3}
\kant[4]
\minisec[2ex]{Minisection 4}
\kant[5]
\end{document}

默认按照类中的定义(即当你省略重新定义版本的可选参数时)在小节上方添加了 1.5ex 的垂直跳跃。

答案2

只需重新定义 `\paragraph 即可完成您想要的操作。

\documentclass[a4paper, 12pt, headsepline, headings=small,]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
\usepackage[a4paper,showframe]{geometry}
\geometry{left=2cm,right=5cm,top=2cm,bottom=2cm}
\usepackage[pangram]{blindtext}

\makeatletter
\renewcommand{\paragraph}{%
  \@startsection{paragraph}{\paragraphnumdepth}%
  {\z@}% title indentation
  {-3pt \@plus -1pt \@minus -1pt }% negative values suppress indent on next paragraph
  {3pt \@plus 1pt \@minus 1pt }% positive value makes a line break after the title
  {\raggedsection\normalfont\sectfont\nobreak\size@paragraph}%
}
\makeatother

\begin{document}

\paragraph{Test}
\Blindtext[1][1]
\paragraph{Test}
\Blindtext[1][1]
\textbf{}
\end{document}

在此处输入图片描述

如果要保留\paragraph,请重新定义\subparagraph

\documentclass[a4paper, 12pt, headsepline, headings=small,]{scrreprt}
\usepackage[onehalfspacing]{setspace}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{mathptmx}
\usepackage[a4paper,showframe]{geometry}
\geometry{left=2cm,right=5cm,top=2cm,bottom=2cm}
\usepackage[pangram]{blindtext}


\makeatletter
\renewcommand{\subparagraph}{%
  \@startsection{subparagraph}{\subparagraphnumdepth}%
  {\z@}% title indentation
  {-3pt \@plus -1pt \@minus -1pt }% negative values suppress indent on next paragraph
  {3pt \@plus 1pt \@minus 1pt }% positive value makes a line break after the title
  {\raggedsection\normalfont\sectfont\nobreak\size@paragraph}%
}
\makeatother

\begin{document}


\subparagraph{Test}
\Blindtext[1][1]
\subparagraph{Test}
\Blindtext[1][1]
\textbf{}
\end{document}

输出与以前相同。

相关内容