使用 \newcommand 自定义标题文本样式

使用 \newcommand 自定义标题文本样式

我正在尝试创建一个自定义标题样式,该样式居中、加粗、较大并且前后有 0.2 厘米的垂直空间。我想保留正常的部分标题。以下是我使用 的尝试\newcommand

我的问题:

  • 如何在标题样式后添加垂直空间?
  • 我怎样才能避免后续文本也被格式化?

非常感谢您的帮助!

\documentclass{article}

\newcommand\progtitel{\vspace{0.2cm}\centering\normalfont\Large\bfseries}

\begin{document}

\section{My section}
Normal text normal text normal text normal text normal text

\progtitel{Custom Title}

Normal text normal text normal text normal text normal text

\end{document}

答案1

有一个起点。你缺少一个\vspace和命令的分组,现在它只需要一个参数。

\documentclass{article}

\newcommand\progtitel[1]{{\vspace{0.2cm}\begin{center}\Large\bfseries #1 \end{center}\vspace{0.2cm}}}

\begin{document}

\section{My section}

Normal text normal text normal text normal text normal text

\progtitel{Custom Title}

Normal text normal text normal text normal text normal text

\end{document}

在此处输入图片描述

答案2

棘手之处在于使它独立于\parskip周围有空行或没有空行的情况下行为相同。

\documentclass{article}

\makeatletter
\newcommand{\progtitel}[1]% #1 = title
{\vspace{\dimexpr 0.2cm-\parskip}\hrule height0pt
  \noindent\parbox{\columnwidth}{\centering\normalfont\Large\bfseries #1}%
  \vspace{\dimexpr 0.2cm-\parskip}\hrule height0pt
  \@afterheading}% no indentation for first paragraph
\makeatletter

%\parskip=\baselineskip

\begin{document}

\section{My section}
Normal text normal text normal text normal text normal text

\progtitel{Custom Title}

Normal text normal text normal text normal text normal text

\end{document}

演示


该解决方案使用trivlist代替\hrule,但最终结果更复杂,而不是更简单。

\documentclass{article}

\makeatletter
\newcommand{\progtitel}[1]% #1 = title
{\bgroup
  \topsep=\dimexpr 0.2cm-\parskip\relax
  \partopsep=0pt
  \trivlist
    \item\parbox{\columnwidth}{\centering\normalfont\Large\bfseries #1}%
  \endtrivlist
\egroup\@afterheading}% no indentation for first paragraph
\makeatletter

%\parskip=\baselineskip

\begin{document}


\section{My section}
Normal text normal text normal text normal text normal text

\progtitel{Custom Title}

Normal text normal text normal text normal text normal text

\end{document}

相关内容