根据以下文本设置段落后的垂直空间

根据以下文本设置段落后的垂直空间

我有这个代码:

\documentclass[11pt]{article}
\usepackage{amsthm}
\usepackage[margin=2.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{setspace}

\theoremstyle{definition}
\newtheorem{definition}{Definition}

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

\onehalfspacing

\begin{document}

\paragraph{(1) Paragraph without mbox (for normal text)}
\noindent{}Some text

\paragraph{(2) Paragraph with mbox  (for normal text)}\mbox{}\\
\noindent{}Some text

\paragraph{(3) Paragraph without mbox  (for definitions)}
\begin{definition}{\textsc{Some definition}}
    is something that\ldots{}
\end{definition}

\paragraph{(4) Paragraph with mbox (for definitions)}\mbox{}\\
\begin{definition}{\textsc{Some definition}}
    is something that\ldots{}
\end{definition}

\end{document}

产生这个输出

在此处输入图片描述

我目前正在就某个主题撰写一组笔记,这意味着在写完一个段落后,我可能会立即写一些文字[如 (1) 和 (2) 所示] 或定义[如 (3) 和 (4) 所示]。我已阅读,这有助于强制文本从下一行的开头开始,但我的问题是,根据我是否用一些文本或定义开始一个段落,间距是不同的。

有没有办法(全局)设置相同的空间量,无论我如何开始我的段落[基本上这样我最终会得到(2)和(3),而不必手动插入/删除命令\mbox{}]

答案1

每种情况下的间距都是相同的,但在某些情况下,标题后的段落最后一行完全是空的,LaTeX 会就此发出警告

Underfull \hbox (badness 10000) in paragraph at lines 27--28

永远不要回避这个警告,它告诉你输出有最大限度根据 TeX 用来实现良好换行的规则,其不良程度。

请注意

    \mbox{}\\
\noindent{}Some text

不执行\noindent任何操作,因为它只在段落开头产生效果,不\\开始段落,而是强制换行。如果该行中有“一些文本”,则会出现。如果没有文本,则仍会强制换行,但如果(如情况 4)那里没有文本,您仍会得到“一行文本”,但它全是白色的,您会收到上述警告。请注意,尽管它看起来有点像垂直空间,但它不是,它是一个宽度为页面宽度的水平框,与段落的一行相对应,并且不会在分页符处被丢弃。

您应该删除,\\但您使用的是插入标题,但显然想要显示标题,解决方案不是在每个部分添加一个空白段落,而是将标题重新定义为显示。您可以重新定义,\paragraph但似乎这里不需要第 4 级标题,所以我会使用\section

在此处输入图片描述

\documentclass[11pt]{article}
\usepackage{amsthm}
\usepackage[margin=2.5cm]{geometry}
\usepackage[utf8]{inputenc}
\usepackage{setspace}

\theoremstyle{definition}
\newtheorem{definition}{Definition}

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

\makeatletter
\renewcommand\section{\@startsection {section}{1}{\z@}%
                                   {-1.5ex \@plus -1ex \@minus -.2ex}%
                                   {1sp}%
                                   {\normalfont\bfseries}}
\makeatother
\onehalfspacing

\begin{document}

\section{Paragraph without mbox (for normal text)}
Some text

\section{Paragraph with mbox  (for normal text)}
Some text

\section{Paragraph without mbox  (for definitions)}
\begin{definition}{\textsc{Some definition}}
    is something that\ldots{}
\end{definition}

\section{Paragraph with mbox (for definitions)}
\begin{definition}{\textsc{Some definition}}
    is something that\ldots{}
\end{definition}

\end{document}

相关内容