Латексные цитаты Bibtex. Неправильный заглавный и алфавитный порядок

Латексные цитаты Bibtex. Неправильный заглавный и алфавитный порядок

В моей библиографии цитаты упорядочены неправильно. Например:

@inproceedings{17Degroot,
  title={Critical scour: new bed protection design method},
  author={De Groot, M.B.},
  booktitle={Journal of Hydraulic Engineering},
  volume={114},
  pages={1227--1240},
  year={1988},
  publisher={ASCE, New York, USA}
}

В моей библиографии, возможно, следует указать MB de Groot (без заглавной буквы D), а в моем отчете следует указать его как [De Groot, 1988](заглавная буква D). Кроме того, алфавитный порядок в библиографии неправильный. Bibtex сортирует это по букве D, хотя должно быть по G. У меня та же проблема со многими другими авторами с предлогами.

Я использую plainnatстиль библиографии.

Спасибо за помощь.

решение1

Как пишется имя автора в цитате? Если с заглавной буквы "D", то именно так оно и должно быть в библиографии. Однако вам нужно использовать небольшой трюк, чтобы bibtexчасть "De" можно было считать префиксом:

\documentclass{article}

\usepackage{natbib}

\bibliographystyle{plainnat}

\begin{filecontents*}{test.bib}
@inproceedings{17Degroot,
  title={Critical scour: new bed protection design method},
  author={{\uppercase{d}e} Groot, M.B.},
  booktitle={Journal of Hydraulic Engineering},
  volume={114},
  pages={1227--1240},
  year={1988},
  publisher={ASCE, New York, USA}
}
\end{filecontents*}

\begin{document}

Text cite: \citet{17Degroot}
Parenthetical cite: \citep{17Degroot}.

\bibliography{test}

\end{document}

Если автор пишет свое имя со строчной буквы «д», то именно так оно и должно отображаться в тексте, если только цитата не находится в начале предложения.

\documentclass{article}

\usepackage{natbib}

\bibliographystyle{plainnat}

\begin{filecontents*}{test.bib}
@inproceedings{17Degroot,
  title={Critical scour: new bed protection design method},
  author={de Groot, M.B.},
  booktitle={Journal of Hydraulic Engineering},
  volume={114},
  pages={1227--1240},
  year={1988},
  publisher={ASCE, New York, USA}
}
\end{filecontents*}

\begin{document}

Text cite: \citet{17Degroot}
Parenthetical cite: \citep{17Degroot}.

\Citet{17Degroot} blah blah.

\bibliography{test}

\end{document}

Редактировать:Вот как сортировать по «G» вместо «d»:

\documentclass{article}

\usepackage{natbib}

\bibliographystyle{plainnat}

\newcommand*{\swap}[2]{#2#1}

\begin{filecontents*}{test.bib}
@inproceedings{17Degroot,
  title={Critical scour: new bed protection design method},
  author={{\swap{Groot}{de }}, M.B.},
  booktitle={Journal of Hydraulic Engineering},
  volume={114},
  pages={1227--1240},
  year={1988},
  publisher={ASCE, New York, USA}
}

@inproceedings{Gadzooks,
 title={Sample},
 author={A. Gadzooks},
 booktitle={Blah},
 year=2013
}

@inproceedings{Grunt,
 title={Sample},
 author={A. Grunt},
 booktitle={Blah},
 year=2013
}

@inproceedings{Datone,
 title={Sample},
 author={A. Dat-one},
 booktitle={Blah some more},
 year=2013
}

@inproceedings{Disone,
 title={Sample},
 author={A. Dis-one},
 booktitle={Blah some more},
 year=2013
}

\end{filecontents*}

\begin{document}

\Citet{17Degroot} blah blah.
\Citep{17Degroot}.

\cite{*}

\bibliography{test}

\end{document}

Результат:

Изображение результата

решение2

Я понимаю, что игнорирование компонента "von" имени автора при сортировке распространено в голландском языке, где, возможно, у половины населения в именах есть "de" или "van". (Ладно, это может быть преувеличением...) На самом деле несложно изменить plainnatстиль библиографии, чтобы реализовать "голландский" стиль сортировки. Изменение файла библиографии избавит вас от необходимости вручную редактировать (возможно, очень много) authorполей в вашем .bibфайле.

  • Найдите файл plainnat.bstв вашем дистрибутиве TeX. Сделайте копию этого файла и назовите копию (say) myplainnat.bst. (Не редактируйте исходный файл.)

  • Откройте myplainnat.bstв вашем любимом текстовом редакторе.

  • Найдите функцию sort.format.names. (Она начинается на строке 1207 в моей копии plainnat.bst.) В этой функции найдите следующую строку:

          s nameptr "{vv{ } }{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
    

    Измените эту строку на:

          s nameptr "{ll{ }}{  ff{ }}{  jj{ }}" format.name$ 't :=
    

    Даже если вы совершенно не знакомы с синтаксисом BibTeX, я думаю, вы должны быть в состоянии понять, что происходит: теперь сортировка будет включать только фамилию автора, за которой следуют все имена и все «младшие» компоненты.

  • Сохраните файл myplainnat.bstлибо в том же каталоге, что и ваш основной .texфайл, либо в каталоге, который ищет ваш дистрибутив TeX. Если вы используете последний метод, обязательно обновите базу данных имен файлов дистрибутива TeX.

  • Начните использовать новый стиль библиографии, опубликовав инструкцию \bibliographystyle{myplainnat}в своих .texфайлах.

Никола Тэлбот в своем ответе на ваш пост уже упомянула, как получитьцитатыкоторые включают строчную часть «фон», начинающуюся с заглавной буквы: используйте команды цитирования \Citetи \Citep(вместо \citetи \citep).

Счастливого BibTeXинга!

Связанный контент