mopg/phdthesis-template

Errors running on clean TeX Live installation

Opened this issue · 1 comments

Hey @mopg ,

I'm getting a few errors running the make script to build thesis.pdf - I've spent a few hours chasing them down, but I've run into one that has me stumped and I wanted to ask if you have any advice.

Steps to Reproduce and Description of Error

  1. Use either Windows 10 or a Linux distribution (Raspbian, in my case, just for testing):
  2. Clone this repository
  3. Download and install the latest version of TeX Live, including all packages.
  4. cd to the src directory and run the Makefile using make (no arguments).
  5. Small errors appear while compiling mitthesis.cls; fix these errors using tiny changes here: https://github.com/peterdsharpe/phdthesis-template/commit/0511d99f3d82f7861806ac065bc5471fdce77b04
  6. Re-run the Makefile using make.
  7. The following error appears:
Package biblatex Warning: Macro 'isbn' undefined.
(biblatex)                Using \newbibmacro.

) (./aiaa.cbx
(c:/texlive/2020/texmf-dist/tex/latex/biblatex/cbx/numeric-comp.cbx))
(c:/texlive/2020/texmf-dist/tex/latex/biblatex/biblatex.cfg))

Package biblatex Warning: Redefining '\nocite'.

! Undefined control sequence.
l.612    \iffieldundef
                      {prenote}
? x
No pages of output.

pdfTeX warning: pdflatex.exe: dangling objects discarded, no output file produc
ed.
Transcript written on thesis.log.
make: *** [default] Error 1

Thoughts

The first two issues (related to isbn and \nocite) seem like not a big deal, but the undefined \iffieldundef is a problem, and I'm not sure how to fix it.

I was able to reproduce the issue both on Windows 10 and Linux using fresh TeX Live installations, so my guess is that something here is using deprecated syntax, or the imports aren't working for some reason.

It seems like \iffieldundef should be coming from Biblatex, but Biblatex seems to be working fine - I ran a seperate test to verify:

Biblatex Test

I ran a simple test to ensure Biblatex is working correctly. Interestingly, this snippet, which includes \iffieldundef, compiles just fine:

\documentclass{article}
\usepackage{biblatex}
\addbibresource{bibliography.bib}

\DeclareCiteCommand{\cbx@mcite}[\mkbibsuperscript]
  {\usebibmacro{cite:init}%
   \let\multicitedelim=\supercitedelim
   \iffieldundef{prenote}
     {}
     {\BibliographyWarning{Ignoring prenote argument}}%
   \iffieldundef{postnote}
     {}
     {\BibliographyWarning{Ignoring postnote argument}}%
   }
  {\usebibmacro{citeindex}%
   \usebibmacro{cite:comp}}
  {}
  {\usebibmacro{cite:dump}}

\begin{document}
 Text and cite: \cite{drela1999integrated}

 \printbibliography

\end{document}

image

Any help appreciated here - thanks!

same confusion, dont know how to solve