12

De Gruyter wants me to put the full bibliographic information into the reference list, that is, I shall not use cross-referencing. However I have the bibtex entries with crossref information and do not want to duplicate them. Is there a way to set up the .bst files in a way that bibitems with crossref are just treated as full items?

Edit:

\documentclass{article}

\usepackage{filecontents}

\usepackage{natbib}

\begin{filecontents}{SM.bib}
  @incollection{a, author={Max Meier}, title={My first paper}, crossref={b}}
  @incollection{c, author={Petra Meier}, title={My first paper}, crossref={b}}
  @book{b, editor={Klaus Meier}, title={How to cite with BibTeX}, booktitle={How to cite with
      BibTeX}, publisher={Language Science Press}, year=2000}
\end{filecontents}


\begin{document}
\nocite{a,c}

\bibliographystyle{degruyter-hsk} 

\bibliography{SM}
\end{document}

Meier Klaus should not appear in the references. Instead it should be treated as part of the entry for Max Meier's publication.

De Gruyter .bst is here: degruyter-hsk.bst

  • What are you using? Please add a minimal working example. – Marco Daniel Jul 12 '13 at 11:34
  • The link to "degruyter-hsk.bst" is broken. – Lars Abrahamsson Jul 25 at 14:22
15

BibTeX offers an option (depending on the version of the executable that you use) called -min-crossrefs so

bibtex -min-crossrefs=20 file

would only add the crossref entry if you have 20 references to the same item. The default is 2.

bibtex -help
Usage: bibtex [OPTION]... AUXFILE[.aux]
  Write bibliography for entries in AUXFILE to AUXFILE.bbl,
  along with a log file AUXFILE.blg.
-min-crossrefs=NUMBER  include item after NUMBER cross-refs; default 2
-terse                 do not print progress reports
-help                  display this help and exit
-version               output version information and exit

The above is with version

bibtex -version
BibTeX 0.99d (TeX Live 2015)
kpathsea version 6.2.1
Copyright 2015 Oren Patashnik.

but the option is available for a long time.

Note

As Akira mentions in the comment, it is normally necessary to remove the old .bbl and .aux files prior to applyiny the option. The reason is this: If BibTeX has generated a .bbl file that does cross-referencing (e.g., has added the @book as a separate item in addition to the @incollection items then each of the @incollection entries will have an explicite \cite to the @book. Thus, after processing your .aux will will in fact have exlicit \citation entries for all 3 items. Therefore changing -min-crossrefs now will not remove the @book item as for BiTeX it is explicitly cited.

  • When I try this it seems like it is ignored. The crossref entries still show up. Is there any way to debug this option? – user1603472 May 20 '16 at 15:47
  • @user1603472 there is no debugging possibility with bibtex that I know of, but the option (if available) does work – Frank Mittelbach May 21 '16 at 18:21
  • For some reason it stopped working for me as well. Texlive 2017 and other texlive versions as well. bibtex version is always 0.99d. Strange. – Stefan Müller Feb 21 '18 at 19:47
  • Here -min-crossrefs option works fine in bibtex. Please don't forget to remove all created files before testing a new option in bibtex. – Akira Kakuto Feb 22 '18 at 7:50

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.