Bibliography Management

Handling academic references manually is error-prone. fduthesis provides deep integration with LaTeX's bibliography systems, strictly adhering to the Chinese GB/T 7714-2015 standard for bibliographic references, which is mandated by Fudan University.

The template supports both the traditional BibTeX (natbib) and the modern BibLaTeX (biber) backends.

Recommendation: We highly recommend using biblatex (with the Biber backend). It offers superior Unicode support (crucial for Chinese authors and titles), better sorting, and more flexible citation styles.

1. Configuration

Configure your bibliography backend and style inside the \fdusetup block in your preamble.

\fdusetup{
  style = {
    bib-backend  = biblatex,    % Choose 'biblatex' or 'bibtex'
    bib-style    = numerical,   % Choose 'numerical' or 'author-year'
    cite-style   = numerical,   % Optional: Override in-text citation style
    bib-resource = {refs.bib, extra.bib} % Your database files
  }
}

Detailed Options

  1. bib-backend:
  2. biblatex (Default & Recommended): Uses the biblatex-gb7714-2015 package. It relies on the biber engine for compilation.
  3. bibtex: Uses natbib and gbt7714. Relies on the older bibtex engine. Faster, but struggles with complex UTF-8 sorting.
  4. bib-style:
  5. numerical (Default): References are numbered in order of appearance (e.g., [1], [2]).
  6. author-year: References are sorted alphabetically by author, cited by name and year (e.g., Smith, 2023).
  7. Custom: If your specific department requires a variant, you can pass a custom string (e.g., bib-style = acm). The template will attempt to load acm.bst (BibTeX) or acm.bbx (BibLaTeX).
  8. cite-style:
  9. Only valid when using biblatex. It allows you to decouple the in-text citation format from the bibliography list format.
  10. bib-resource:
  11. A comma-separated list of your bibliography database files.
  12. Warning: If using biblatex, you must include the .bib extension (e.g., refs.bib).

2. Citation Commands

Depending on your chosen bib-style and backend, different commands format citations differently in the text.

Numeric Style (Science / Engineering)

  • \cite{key}: Standard citation. Usually produces a superscript bracket: text^[[1]].
  • \parencite{key}: Inline citation without superscript. Useful for grammar: "As shown in Reference [1]...".
  • \cite[12-14]{key}: Citation with specific page numbers: text^[[1]12-14].

Author-Year Style (Humanities / Social Sciences)

  • \cite{key}: Standard parenthetical citation: (Knuth, 1984).
  • \citet{key}: Textual citation, blending author into the sentence: "Knuth (1984) stated that..."
  • \citep{key}: Alias for parenthetical citation: (Knuth, 1984).

3. Printing the Bibliography

Place the \printbibliography command in the \backmatter section. fduthesis will automatically format the chapter heading as "参考文献" (or "References") and add it to the Table of Contents.

\backmatter
\printbibliography

4. Troubleshooting Common Issues

Warning: LaTeX Warning: Citation 'xxx' on page Y undefined

  • Cause: The citation key xxx does not exist in your .bib file, OR you haven't compiled the bibliography yet.
  • Fix: Ensure you run the full compilation chain (xelatex -> biber -> xelatex -> xelatex), or use latexmk.

Error: ! Package biblatex Error: File 'refs.bib' not found.

  • Cause: Typo in the filename, or the file is in a different directory.
  • Fix: If your file is in a subfolder, specify the path in bib-resource: bib-resource = {chapters/refs.bib}.

Messy Chinese Author Sorting (BibTeX)

  • Cause: The bibtex engine converts characters to ASCII hashes for sorting, which breaks Pinyin sorting.
  • Fix: Switch bib-backend = biblatex. Biber natively understands UTF-8 and uses the locale's collation rules for accurate Pinyin sorting.