1

I have a custom biblatex entry type called "film". This has several custom fields, notably the "director" field.

While I am able to get this to work as a straight LaTeX document, I am unable to get the "director" field to show up when set from a #+LaTeX_Header: from within Emacs org-mode. What am I doing wrong?

Here is the LaTeX version:

\documentclass{article}
\usepackage[american]{babel}
\usepackage{csquotes}
\usepackage[style=apa, natbib]{biblatex}
\DeclareLanguageMapping{american}{american-apa}
\addbibresource{apamovie.bib}

\DeclareLabelname[film]{
  \field{director}
  \field{producer}
  \field{actor}
}

\begin{document}
I've read a book \citep{book}.
I've seen a movie \citep{highlander}.

\printbibliography
\end{document}

and here is the Emacs org-mode version:

#+TITLE: LaTeX Output with Emacs org-mode
#+options: toc:nil
#+latex_header: \usepackage[american]{babel}
#+latex_header: \usepackage{csquotes}
#+latex_header: \usepackage[style=apa, natbib]{biblatex}
#+latex_header: \DeclareLanguageMapping{american}{american-apa}
#+latex_header: \addbibresource{./apamovie.bib}
#+latex_header: \DeclareLabelname[film]{\field{director}}

I've read a book cite:book. I've seen a film cite:highlander.

\printbibliography

and here is the .bib file:

@Book{book,
  author =       {A. U. Thor},
  title =        {My first book},
  publisher =    {Methuen},
  year =         {1999}
}

@film{highlander,
  title =        {Highlander},                  
  director =     {Mulcahy, Russell},
  year =         {1986},
  publisher =    {Cannon Films},
  type =         {DVD}
}

and here is how I setup the new fields and entry types in my init.el file:

;;-- Create custom fields for FILM entry type ----
(add-to-list 'bibtex-biblatex-field-alist
             '(("director" "Director(s) of a film, video or DVD title")
               ("producer" "Producer of the film title")
               ("actor" "Actor in the film title")
               ("distributor" "Distributor of a film title")))

;; Create FILM entry type
(add-to-list 'bibtex-biblatex-entry-alist
             '("Film" "Film, video or DVD"
               ("title" "year" "type")
               nil
               ("director" "address" "distributor")))

(require 'bibtex)
(bibtex-set-dialect 'biblatex)
  • Can you share apamovie.bib with us? Do things work in the LaTeX example and not in the org-mode version? Or does it fail with both? – moewe Aug 7 '19 at 20:18
  • Ah, of course. Okay, done. Thanks @moewe – Adam Aug 7 '19 at 20:23
  • Can you plase share a screenshot of the output with us? I get the warning No driver for entry type 'film'. Using fallback driver on input line 37. Taking into account that message the output I get is pretty much exactly what I expect; in particular the \DeclareLabelname[film] works as desired. – moewe Aug 7 '19 at 20:29
  • Note that the predefined entry type for films in biblatex-apa is called @movie, so you may want to switch from film to movie: This should give you slightly better results. (You could also use @video it should be pretty much the same as @movie.) – moewe Aug 7 '19 at 20:39
  • 4
    I'm voting to close this question as off-topic because it isn't clear that this is a LaTeX question, from the discussion in the comments it emerged that this is more of an emacs org-mode issue. In any case there has not been sufficient feedback with enough information to answer the question properly. – moewe Aug 28 '19 at 17:57