BibTeX 键对齐和本地化

BibTeX 键对齐和本地化

我的键有问题bibtex。根据我的样式指南,它们应该是左对齐的,但现在它们却是右对齐的。有办法改变这种情况吗?我使用的是amsalpha参考书目样式。

右对齐参考书目键

另外,在作者列表中,我需要在最后一位作者之前有一个本地化值。我在其安装目录中'and'找到了一堆本地化文件。我需要复制一个并更改其中的字符串吗?我如何知道要使用哪一个(我在文档中使用 XeLaTeX)?bibtexbibtex

完全删除'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.}
}

我正在使用bibtexxelatex

答案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在我的计算机中找到的(确保执行备份)。

具体变化:

  1. { "," * }至第 351 行{ "" *}。这将删除最后一位作者前的逗号。
  2. 行 356{ " and " * t * }{ " ir " * t * },其中ir是 的局部值and,当然。注意空格。

这不是最完美的解决方案,但我认为没有其他解决方案。您可能会注意到,字符串amsalpha.bst是硬编码的,因此更改它们的唯一方法是手动更改。如果有更有经验的人可以证实这一点,我会很高兴。

这些解决方案适用于

BibTeX 0.99d (TeX Live 2011)
kpathsea version 6.0.1

相关内容