簡単なクラスを定義しました
\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{mycustom}[2019/03/06 My custom class]
\LoadClass{article}
\RequirePackage{setspace}
\newcommand{\summary}{
\begingroup
\setlength{\parindent}{0cm}
\onehalfspacing
}
\newcommand{\ensummary}{
\endgroup
}
\endinput
次のように定義された単純な LaTeX ファイルを作成したとします。
\documentclass{mycustom}
\usepackage{lipsum}
\begin{document}
\lipsum[1][1-3]
\summary
\lipsum[1][1-4]\par
\ensummary
\lipsum[1][1-3]
\end{document}
par
の内側にを追加しないと、\summary
1.5 間隔が機能しないことに気づきました。この動作がどのように発生するのか、また、削除して\par
同じ動作 ( の内側に 1.5 間隔\summary
) を維持する方法があるかどうかを知りたいです。改善のためのヒントがあれば大歓迎です。
これは私が追加した段落です\par
これは、\par
段落の中央の行間スペースに注意してください。
答え1
環境定義は行\par
間隔の変更のスコープ内となるように次のように終了する必要があります。逆に、始めるそうでない場合、前のテキストが影響を受ける可能性があります (定義の\par
最初の部分を除いた以下の例を試してください)。\par
コメントに記載されているように、これは環境である必要があります (LaTeX は通常、 で始まる名前でコマンドが定義されるのを防ぎます\end...
)。その場合、明示的な\begingroup
は必要ありません。また、\newline
段落が終了することはなく、改行を強制するだけです。
\documentclass{article}
\usepackage{setspace,lipsum}
\newenvironment{summary}
{\par\setlength{\parindent}{0cm}\onehalfspacing}
{\par}
\begin{document}
\lipsum[1][1-3]
\begin{summary}
\lipsum[1][1-4]
\end{summary}
\lipsum[1][1-3]
\end{document}