14

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

2
  • What are you using? Please add a minimal working example. Jul 12, 2013 at 11:34
  • The link to "degruyter-hsk.bst" is broken. Jul 25, 2019 at 14:22

1 Answer 1

16

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.

4
  • When I try this it seems like it is ignored. The crossref entries still show up. Is there any way to debug this option? May 20, 2016 at 15:47
  • @user1603472 there is no debugging possibility with bibtex that I know of, but the option (if available) does work May 21, 2016 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. Feb 21, 2018 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. Feb 22, 2018 at 7:50

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .