在新环境中改变线宽

在新环境中改变线宽

我正在尝试构建一个figurenotes应该有\footnotesize和不同的环境\linespread,但似乎无法调整后者。我的 MWE 是

\documentclass{article}
\usepackage{graphicx}
\newenvironment{figurenotes}{\linespread{2}\par\vspace{1em}\footnotesize\selectfont\emph{Notes.}}{}
\begin{document}
  \begin{figure}[tb]
    \caption{Pagodas}
    \label{fig:pagodas}
    \includegraphics[width=\linewidth]{pagodas}
    \begin{figurenotes}
      Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
      tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
      quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
      consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
      cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
      proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
    \end{figurenotes}
  \end{figure}
\end{document}

结果:线宽不受影响

答案1

您忘记添加环境部分\par\end

使用您的代码,\par在 时执行\end{figure},此时\linespread{2}设置已被遗忘,因为figurenotes已经结束。您得到的是 的基线跳过\normalsize

\newenvironment{figurenotes}
  {\par\addvspace{1em}%
   \linespread{2}\footnotesize
   \emph{Notes.} \ignorespaces
  }
  {\par}% <-------  IMPORTANT

注意几个变化:\linespread{2}应该只影响表格注释,所以应该在初始之后发出\par。不需要\selectfont,因为\footnotesize它确实如此。

后面的空格\emph{Notes.}应该在定义中明确,否则输入如下

\begin{figurenotes}This is a figure\end{figurenotes}

没有空格。使用 ,\ignorespaces我们删除了可能来自 之后的结束行的虚假空格\begin{figurenotes}

在此处输入图片描述

相关内容