svmono: ввести больше горизонтального пробела между именем теоремы, данным пользователем, и ее содержимым, не добавляя иногда вертикальный пробел?

svmono: ввести больше горизонтального пробела между именем теоремы, данным пользователем, и ее содержимым, не добавляя иногда вертикальный пробел?

ПродолжаяКак подавить вертикальный пробел между заголовками теорем и окружениями enumitem?(в отличие от них, мы используем здесь класс Springer), для всех именованных сред, подобных теоремам, в нашем документе мы хотим иметь немного больше горизонтального пространства (чем пространство по умолчанию), отделяющего заданный заголовок среды от ее содержимого. Для этого мы попытались определить \@thmcounterendкак простое пространство:

\documentclass{svmono}% v5.10 (2021/09/08) from https://www.springer.com/gp/authors-editors/book-authors-editors/your-publication-journey/manuscript-preparation#toc-49268 or directly from https://resource-cms.springernature.com/springer-cms/rest/v1/content/20566/data/monographs
\makeatletter\def\@thmcounterend{ }\makeatother%%% Some more horizontal space after the titles of the theorem-like environments would be great. How exactly do we introduce it without occasionally introducing superfluous vertical space?
\overfullrule=1mm
\pagestyle{empty}
\begin{document}\noindent
Good remark:
\begin{remark}[Remark title 1]
  Remark text 1.
\end{remark}
Bad remark:
\begin{remark}[Remark title 2. More words. More words. More words. More w\ldots]\label{someLabel}
  Remark text 2.
\end{remark}
\end{document}

Пространство между заголовком среды и списком может стать большим, если строка заголовка (последняя) заполнена и следует метка. Для проверки скомпилируйте входные данные с помощью [ pdf], latexчтобы получить

вертикальный зазор с латексом или pdflatex

Вертикальный зазор между «w…)» и «Remark text 2» даже больше, чем зазор перед заголовком окружения. Это нелогично и нежелательно: до и после замечания у нас должны быть большие вертикальные зазоры, чем внутри замечания. Конечно, мы можем сказать , \vskip-\baselineskipно это трудно поддерживать (потому что его может потребоваться удалить, например, если ширина линии или шрифт глобально изменятся). Есть идеи?

решение1

никогда не ставьте незащищенный пробел в поток, tex удаляет только один связующий элемент в конце абзаца, поэтому если вы сделаете 2, как здесь, то в качестве последней строки абзаца получится полностью белая строка, если она разорвется перед пробелом.

За командой следует \или ничего не следует в зависимости от стиля, поэтому вы можете локально определить ее, чтобы создать \один пробел двойной длины.

\makeatletter\def\@thmcounterend{\def\ {\hspace{6.7pt plus 3.2pt minus 2.2pt}}}\makeatother%%% Some more horizontal space after the titles of the theorem-like environments would be great. How exactly do we introduce it without occasionally introducing superfluous vertical space?

введите описание изображения здесь

Связанный контент