我如何才能将相同的格式命令应用于参考书目标题和所有其他章节标题?

我如何才能将相同的格式命令应用于参考书目标题和所有其他章节标题?

我已获得一个模板,该模板将相同的格式命令应用于所有部分。现在我添加了参考书目,并希望其标题采用相同的格式。实现此目的的最简单方法是什么?

\documentclass{scrartcl}

\usepackage{xcolor,biblatex}
\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
@article{Test,
    author = {Test, A},
    title = {What a test}
}
\end{filecontents}

\newcommand{\headingformatting}[1]{\noindent\fcolorbox{black}{orange}{%
\begin{minipage}{\dimexpr\textwidth-2\fboxrule-2\fboxsep\relax}
#1
\end{minipage}}}

\begin{document}

\headingformatting{\section{Test}}
Here I am citing \cite{Test}

\printbibliography

\end{document}

请忽略我的排版不太令人满意的事实\headingformatting。我只是想从技术角度展示文档的样子。

答案1

正如评论中提到的那样,对此的最佳解决方案是使用 KOMA-Script 功能来确保\section按需要排版,而无需手动\headingformatting调用每个功能\section

因为我不知道该怎么做,所以这里提供了一种解决方法,即定义一个也适用于的biblatex新标题样式。\headingformatting\section

\documentclass{scrartcl}

\usepackage{xcolor,biblatex}

\defbibheading{myheading}[\refname]{\headingformatting{\section{#1}}}

\newcommand{\headingformatting}[1]{\noindent\fcolorbox{black}{orange}{%
\begin{minipage}{\dimexpr\textwidth-2\fboxrule-2\fboxsep\relax}
#1
\end{minipage}}}

\addbibresource{biblatex-examples.bib}

\begin{document}
\headingformatting{\section{Test}}
Here I am citing \cite{sigfridsson}

\printbibliography[heading=myheading]
\end{document}

参考标题以与“测试”相同的方式突出显示

此处显示的定义基于\section。如果您想要无编号样式,可以选择类似

\makeatletter
\defbibheading{myheading}[\refname]{%
  \headingformatting{\section*{#1}}%
  \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}}
\makeatother

或者

\makeatletter
\defbibheading{myheading}[\refname]{%
  \headingformatting{\section*{#1}}%
  \addcontentsline{toc}{section}{#1}%
  \@mkboth{\abx@MakeMarkcase{#1}}{\abx@MakeMarkcase{#1}}}
\makeatother

答案2

这应该可行。

\documentclass{scrartcl}

\usepackage{xcolor,biblatex}
\addbibresource{\jobname.bib}

\begin{filecontents}{\jobname.bib}
@article{Test,
    author = {Test, A},
    title = {What a test}
}
\end{filecontents}

\newcommand{\headingformatting}[1]{\noindent\fcolorbox{black}{orange}{%
\begin{minipage}{\dimexpr\textwidth-2\fboxrule-2\fboxsep\relax}
#1
\end{minipage}}}

\begin{document}

\headingformatting{\section{Test}}
Here I am citing \cite{Test}

\printbibliography[title=\headingformatting{\refname}]

\end{document}

相关内容