Как предотвратить появление символа в названии детали на новой строке?

Как предотвратить появление символа в названии детали на новой строке?

Вот MWE:

\documentclass[a4paper,english,hebrew,numbers=noenddot]{scrartcl}
\usepackage{fontspec}
\usepackage{adforn}
\renewcommand\partlineswithprefixformat[3]{ #2 #3\adforn{64}}
\begin{document}
\part{ABC}
\end{document}

Результат таков:
введите описание изображения здесь

Я хочу, чтобы лист находился на той же строке, что и название детали. Если это возможно, как это сделать?

Спасибо!

решение1

То, что я здесь описываю, является своего рода обходным путем. Линия не прерывается без причины. В принципе, вам следует разобраться, что \partlineswithprefixformatделает и почему получается такой узкий блок. Теперь я предполагаю, что вы не хотите ничего из этого делать, а просто принудительно разместить лист на той же линии, что и ABC. (Для этого могут быть причины, например, когда журнал «благословил» вас мутным классом документа. Очевидно, scrartclчто не мутный. Но следующее, скорее всего, сработает и для мутных шаблонов.) Затем вы можете сделать

\documentclass[a4paper,english,hebrew,numbers=noenddot]{scrartcl}
\usepackage{fontspec}
\usepackage{adforn}
\renewcommand\partlineswithprefixformat[3]{ #2 \hbox{#3\adforn{64}}}
\begin{document}
\part{ABC}
\end{document}

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

решение2

Вот еще один обходной путь, предполагающий, что в названии детали нет \strutкоманды. Он также работает с названиями деталей длиннее одной строки:

\documentclass[a4paper,numbers=noenddot]{scrartcl}
\usepackage{fontspec}
\usepackage{adforn}

\usepackage{xpatch}
\renewcommand\partlineswithprefixformat[3]{#2%
  {\xapptocmd\strut{\adforn{64}}{}{\PatchFailed}#3}%
}

\begin{document}
\part{ABC}
\part{ABC ABC ABC ABC ABC ABC ABC ABC}

\end{document}

Результат:

Скриншот

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