在以下示例中,我想强制将参考资料部分排版为较小的字体,间距为单个(更紧凑)。我的命令(间距环境调用和字体小调用)似乎没有传递新请求的参数\putbib
。请注意,我的字体大小转义\normalsize
是不必要的,因为即使不存在它也不会发生任何变化。
我推测这与关于更改标题或图例中的字体大小的常见问题类似,但由于这些问题的解决方案通常涉及选项参数,因此我希望想出一种通用的方法来覆盖环境字体或间距,以便该解决方案也可以强制更改图形标题环境和我自己笨拙定义的环境(没有提供个人环境的示例,因为我现在关心的只是 bibunits)。
\begin{filecontents}{mytestbib.bib}
@book{goossens93,
author = "Frank Mittelbach and Michel Goossens and Johannes Braams and David Carlisle and Chris Rowley",
title = "The {LaTeX} Companion",
year = "1993",
publisher = "Addison-Wesley",
address = "Reading, Massachusetts"
}
\end{filecontents}
\documentclass{article}
\usepackage{filecontents}
\usepackage{setspace}
%\singlespacing
\onehalfspacing
%\doublespacing
\usepackage{lipsum}
\usepackage[numbers,square,comma,sort&compress]{natbib}
\usepackage{bibunits}
\defaultbibliography{mytestbib}
\defaultbibliographystyle{IEEEtranN}
\renewcommand{\bibname}{References} %\nocite{*} % list all refs in database, cited or not
\begin{document}
\renewcommand{\bibsection}{\section*{\bibname}\markboth{\leftmark}{\bibname}}
\begin{bibunit}
\section{A section}
There is text in a section, \lipsum and sometimes a reference is needed \cite{goossens93}
\begin{singlespace}
% \small
\putbib
% \normalsize
\end{singlespace}
\end{bibunit}
\doublespacing
\begin{bibunit}
\section{A second section}
There is text in a section, \lipsum and sometimes a reference is needed \cite{goossens93}
\begin{singlespace}
% \small
\putbib
% \normalsize
\end{singlespace}
\end{bibunit}
\end{document}
答案1
- 由于单倍行距是默认设置,因此除非您的实际文档使用其他行距,否则这里无需执行任何操作。
\renewcommand\bibfont{\small}
可用于修改使用 格式化的参考书目所使用的字体natbib
。
当您提到一个适用于标题和任意环境的通用解决方案时,我不确定您是怎么想的。通常,您需要根据自己的条件管理每个元素,因为每个元素都有自己的语法。此外,该语法取决于您使用的类和包。例如,该\bibfont
命令由 提供natbib
,因此除非您也在那里使用,否则此方法不适用于其他文档中的任意参考书目natbib
。
当然,您可以创建一个包或类(或者使用已经存在的包或类,如果适用的话),这样单个选项就可以为文档的多个不同元素设置字体。例如,您可能想查看 KOMA Script 类和包。但无论如何,这是代码需要以某种方式执行的操作,并且如果不同的文档使用不同的包来定制类似的文档功能,您仍然需要处理不同包提供的语法之间的差异。