我正在使用基于类的类scrartcl
。我需要在某个部分中包含参考书目条目,但它显示该条目具有*
该部分标题。如果我使用命令
\section*{hello}
在文档中显示为
*
___
hello
同样地
\section{Publications}
\nocite{ref1}
\bibliographystyle{test}
\bibliography{myreflist}
显示为
PUBLICATIONS
--
*
___
[1] Ref1 etc,
我用过
\renewcommand{\refname}{}
命令可从参考书目中删除标题“参考文献”,但这个星号很烦人。有人知道参考书目命令是否\section*
在任何地方使用该命令,以及如何更改/删除它吗?
最小工作示例:
\documentclass{tccv}
\section{Publications}
\nocite{ref1}
\bibliographystyle{test}
\bibliography{References}
\end{document}
答案1
这并不能解决class文件的不足,但是:
\documentclass[bibliography=totocnumbered]{tccv}
\begin{document}
\nocite{companion}
\section{Publications}
\bibliographystyle{plain}
\bibliography{biblatex-examples}
\end{document}
使用适当的记录界面来获取编号(即无星号)的参考书目。
或者说得更明显一点:
\listfiles
\documentclass[bibliography=totocnumbered]{tccv}
\renewcommand{\refname}{Publications}
\begin{document}
\nocite{companion}
\bibliographystyle{plain}
\bibliography{biblatex-examples}
\end{document}
答案2
是的,确实thebibliography
存在问题\section*
tccv
文档类。事实上,tccv
重新定义\section
以适应其自身需求,而没有考虑到\section
可以以星号形式使用:
% Overrides the \section command to capitalize every
% word for cosmetic purposes and draws a rule under it.
\let\old@section\section
\renewcommand\section[2][]{%
\old@section[#1]{\ucwords{#2}}%
\newdimen\raising%
\raising=\dimexpr-0.7\baselineskip\relax%
\vskip\raising\hrule height 0.4pt\vskip-\raising}
您可以通过在文档序言中添加以下内容以两种方式更正此问题:
添加虚拟星号功能至
\section
:\makeatletter \let\tccvsection\section \renewcommand{\section}{\@ifstar\tccvsection\tccvsection} \makeatother
补丁
\bib@heading
使用etoolbox
:\usepackage{etoolbox} \makeatletter % \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>} \patchcmd{\bib@heading}{\section*}{\section}{}{} \makeatother
下面是使用前一个选项的简单示例:
\documentclass{tccv}
\makeatletter
\let\tccvsection\section
\renewcommand{\section}{\@ifstar\tccvsection\tccvsection}
\makeatother
\begin{document}
\section{Publications}
\begin{thebibliography}{x}
\bibitem{abc} Some bibliography item
\end{thebibliography}
\end{document}
现在你应该能够使用适当的
\renewcommnd{\refname}{<your new bibliography heading>}
如果你希望。
答案3
tccv
这肯定是类重新定义中的一个错误,\section
因此它不遵守*
其后的 a。
\bib@heading
您可以通过定义不执行任何操作来解决问题。
\documentclass{tccv}
\makeatletter
\renewcommand{\bib@heading}{}
\makeatother
\begin{document}
\section{Publications}
\nocite{Knuth:ct-a}
\bibliographystyle{plain}
\bibliography{texbook1}
\end{document}