我定义了一个名为 的自定义段落,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}
输出与以前相同。