Как сделать подчеркнутые заголовки по центру в KOMA-script?

Как сделать подчеркнутые заголовки по центру в KOMA-script?

Поэтому я попытался сделать заголовки с подчеркиванием и выравниванием по центру:
Ответ на вопрос о выравнивании по центру пришелздесьиздесь.

Теперь мой вопрос, как мне сделать его подчеркнутым: с \ulэтим не работает (файл не компилируется, а с ulineя получаю уродливое подчеркивание:
введите описание изображения здесь

А вот и МВЭ:

\documentclass{scrartcl}

\usepackage{fontspec,adforn,ulem,soul}

\makeatletter

\addtokomafont{section}{\centering}  
\addtokomafont{subsection}{\centering}
\renewcommand{\sectionlinesformat}[4]{%
    %\@tempswafalse
        \ifstr{#1}{section}{%
                {\@hangfrom{{{#3}{#4}\adforn{12}}}}
        }
        {\ifstr{#1}{subsection}{%
                {\@hangfrom{\uline{{{#3}{#4}\adforn{24}}}}}%
        }
    {\@hangfrom{\hskip#2#3}{#4}}}%
}\makeatother

\begin{document}

\part{ABC}

\section{abc}

\subsection{abcd efgh abcd efgh iiii hhjjgghgg abcd efgh abcd efgh iiii hhjjgghgg abcd efgh abcd efgh iiii hhjjgghgg}
\end{document}

PS По частям я получил ответздесьно это тоже не работает.
и вот об использовании\ulили\uline.
И если я подставлю parboxэто, то что я получу:
введите описание изображения здесь и вот соответствующая строка:

{\ifstr{#1}{subsection}{%
                {\@hangfrom{\uline{\parbox{\linewidth}{{#3}{#4}\adforn{24}}}}}%
        }

Есть ли у вас какие-либо идеи, как это могло бы работать и выглядеть правильно, а текст мог бы быть более чем в одну строку, отцентрированным и подчеркнутым?

Спасибо!!

решение1

Для наглядности проблем с подчеркиванием в вашем случае, пожалуйста, посмотрите следующий код. Он основан нана мой ответи использует подчеркивание с командой \ul{}из пакета soul. Пожалуйста, также обратите внимание, что ваш used \adforn{}помещен в заголовок для раздела и подраздела:

\documentclass{scrartcl}

\usepackage{fontspec,adforn}
\usepackage{soul}


\begin{document}

\renewcommand\raggedsection{\centering}

\part{ABC}

\section{\ul{abc test test test test test test test test test test test test 
  test test test test test test test test test test test test test test 
  test test test test test test} \adforn{12}} % <=======================

\subsection{\ul{def} \adforn{24}} % <===================================

\section{\ul{abc test test test test test test test test test test test test 
  test test test test test test test test test test test test test test 
  test test test test test test \protect\adforn{12}}} % <===============
\end{document} 

с результатом:

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

Как вы видите, \ul{...}можно подчеркнуть длинный текст внутри, \sectionесли\adforn{} не включено( см \ul. первый красный круг на изображении выше)!

Теперь вы можете попробовать включить \adfornв \ulлайк

\subsection{\ul{def \adforn{24}}}

с результатом 9 ошибок.

Как вы видите, отмечено вторым красным кругом на изображении выше, вы можете использовать его \protect\adfarnдля компиляции без ошибок, но результат будет ужасным (второй красный круг).

Заключение:

  • Вы можете сделать подчеркивание с выравниванием по центру без использования \adfornили
  • можно использовать \adfornс центрированием, но без подчеркивания

Предлагаю не подчеркивать!

Основанный напо второму MWE в этом ответеты можешь сделать

\documentclass{scrartcl}

\usepackage{fontspec}
\usepackage{adforn}
\usepackage{soul} % <===================================================

\renewcommand\raggedsection{\centering}

\let\originalsectionlinesformat\sectionlinesformat
\renewcommand{\sectionlinesformat}[4]{%
  \originalsectionlinesformat{#1}{#2}{#3}{\ul{#4}% <====================
    \ifstr{#1}{section}{\adforn{12}}
      {\ifstr{#1}{subsection}{\adforn{24}}{}}%
  }%
}

\usepackage{blindtext}% only for dummy text
\begin{document}
\section{abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc abc}
\blindtext
\subsection{def}
\blindtext
\end{document}

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

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