我的键有问题bibtex
。根据我的样式指南,它们应该是左对齐的,但现在它们却是右对齐的。有办法改变这种情况吗?我使用的是amsalpha
参考书目样式。
另外,在作者列表中,我需要在最后一位作者之前有一个本地化值。我在其安装目录中'and'
找到了一堆本地化文件。我需要复制一个并更改其中的字符串吗?我如何知道要使用哪一个(我在文档中使用 XeLaTeX)?bibtex
bibtex
完全删除'and'
,只保留前面的逗号也可以。我现在不需要一个好的解决方案,一个快速的解决方案就足够了。
编辑
好的,我设法弄清楚了按键的正确对齐是由natbib
包引起的。我在下面包含了 MWE:
mwe.tex
:
\documentclass[a4paper]{article}
\usepackage{natbib}
\bibliographystyle{amsalpha}
\begin{document}
\cite{hu62}
\cite{ss97}
\cite{crm03}
\bibliography{mwe}
\end{document}
mwe.bib
:
@Article{hu62,
title = {Visual Pattern Recognition by Moment Invariants},
journal = {IRE Transactions on Information Theory},
pages = {179--187},
year = {1962},
author = {Hu, Ming-Kuei}
}
@Conference{ss97,
title = {Hu’s moment invariants: How invariant are they under skew and perspective transformations?},
booktitle = {IEEE WESCANEX 97: Communications, Power and Computing. Conference Proceedings.},
pages = {292--295},
year = {1997},
author = {Sivaramakrishna, Radhika and Shashidhar, N. S.}
}
@Article{crm03,
title = {A comparative analysis of algorithms for fast computation of Zernike moments},
journal = {Pattern Recognition},
pages = {731--742},
year = {2003},
author = {Chong, Chee-Way and Raveendran, P. and Mukundan, R.}
}
我正在使用bibtex
和xelatex
。
答案1
您可以尝试babelbib
;我已将您的示例改编为意大利语,得到的是“e”而不是“and”。
\begin{filecontents*}{mwe.bib}
@Article{hu62,
title = {Visual Pattern Recognition by Moment Invariants},
journal = {IRE Transactions on Information Theory},
pages = {179--187},
year = {1962},
author = {Hu, Ming-Kuei}
}
@Conference{ss97,
title = {Hu's moment invariants: How invariant are they under skew and perspective transformations?},
booktitle = {IEEE WESCANEX 97: Communications, Power and Computing. Conference Proceedings.},
pages = {292--295},
year = {1997},
author = {Sivaramakrishna, Radhika and Shashidhar, N. S.}
}
@Article{crm03,
title = {A comparative analysis of algorithms for fast computation of Zernike moments},
journal = {Pattern Recognition},
pages = {731--742},
year = {2003},
author = {Chong, Chee-Way and Raveendran, P. and Mukundan, R.}
}\end{filecontents*}
\documentclass[a4paper]{article}
\usepackage[italian]{babel}
\usepackage[italian]{babelbib}
\bibliographystyle{babalpha}
\begin{document}
\cite{hu62}
\cite{ss97}
\cite{crm03}
\bibliography{mwe}
\end{document}
但连字符不正确。请检查babelbib
文档。
答案2
我想我已经找到了解决这两个问题的方法。
可以在序言或样式文件中使用以下代码将键设置为左对齐(来源):
\makeatletter
\renewcommand{\@biblabel}[1]{[#1]\hfill}
\makeatother
对于最后一个分隔符问题,我必须编辑amsalpha.bst
文件,该文件是我/usr/local/texlive/2011/texmf-dist/bibtex/bst/amscls
在我的计算机中找到的(确保执行备份)。
具体变化:
{ "," * }
至第 351 行{ "" *}
。这将删除最后一位作者前的逗号。- 行 356
{ " and " * t * }
至{ " ir " * t * }
,其中ir
是 的局部值and
,当然。注意空格。
这不是最完美的解决方案,但我认为没有其他解决方案。您可能会注意到,字符串amsalpha.bst
是硬编码的,因此更改它们的唯一方法是手动更改。如果有更有经验的人可以证实这一点,我会很高兴。
这些解决方案适用于
BibTeX 0.99d (TeX Live 2011)
kpathsea version 6.0.1