更改新命令中的行距

更改新命令中的行距

我有一个命令如下:

\documentclass[12pt]{book}
\usepackage{setspace}

\newcommand{\statshyp}[2]{\noindent \hangindent=1cm \hangafter=0 
\begin{singlespace*}
\textbf{#1}: \emph{#2}
\end{singlespace*}
}

不幸的是,仅在新命令中更改行距不起作用。目的是创建一个宏,使我能够在通常双倍行距的文档中创建格式相同的单倍行距假设。有办法做到这一点吗?我发现另一个人问了类似的问题,但给他的答案为他提供了一种无需使用间距命令即可获得所需内容的方法。

答案1

这可能接近您想要的结果;但结果并不理想(任何具有很大行间空间的结果都不可能理想)。

我认为 1cm 这样的长度不太好:它与其他参数不相容。也许单间距插入周围需要更多空间。

\documentclass[12pt]{book}
\usepackage{setspace,lipsum,changepage}

\makeatletter
\renewenvironment{singlespace*}
  {\setstretch {\setspace@singlespace}%
   \vskip -\baselineskip}
  {\vskip -.25\baselineskip}
\makeatother

\newcommand{\statshyp}[2]{%
  \begin{singlespace*}
  \begin{adjustwidth}{1cm}{0pt}
  \noindent\textbf{#1}: \emph{#2} \par
  \end{adjustwidth}
  \end{singlespace*}
}

\onehalfspacing
\begin{document}

\lipsum[2]

\statshyp{Some}{I don't know what to say, but I'm
trying to keep it very long so that it wraps and
the paragraph will show the effect of the parameters.}

\lipsum[3]

\end{document}

在此处输入图片描述

答案2

\documentclass{article}
\usepackage{setspace}
\usepackage{lipsum}
\usepackage{verbatimbox}
\doublespacing
\newcommand\statshyp[2]{%
\noindent\parbox{\textwidth}{\singlespacing\textbf{#1}: \emph{#2}}
~\par%
}
\begin{document}
\lipsum[1]
\statshyp{Hypothesis}{This is my hypothesis:  that I can insert
single-spaced stuff.  This line must be long enough to extend over
multiple lines.  This should be enough for the test}
\lipsum[2]
\end{document}

在此处输入图片描述

相关内容