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