Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fail to produce bibliography and proper citations org-mode to pdf export #1042

Open
nilsleh opened this issue Nov 3, 2022 · 7 comments
Open

Comments

@nilsleh
Copy link

nilsleh commented Nov 3, 2022

Thank you for this fantastic work, being able to access, manage and work with citations inside org-mode is incredible. The last step that I cannot figure out how to achieve is exporting the org-mode file to a pdf. I am sure it is simply something that I am not understanding from the manual but I cannot figure out why.

This is my org-mode file.

#+BIND: org-export-use-babel nil
#+TITLE: test
#+AUTHOR: Author Name
#+DATE: November 3, 2022
#+LATEX: \setlength\parindent{0pt}
#+LaTeX_HEADER: \usepackage{minted}
#+LATEX_HEADER: \usepackage[margin=0.8in]{geometry}
#+LATEX_HEADER_EXTRA:  \usepackage{mdframed}
#+LATEX_HEADER_EXTRA: \BeforeBeginEnvironment{minted}{\begin{mdframed}}
#+LATEX_HEADER_EXTRA: \AfterEndEnvironment{minted}{\end{mdframed}}
#+latex_header: \usepackage[citestyle=authoryear-icomp,bibstyle=authoryear, hyperref=true,backref=true,maxcitenames=3,url=true,backend=biber,natbib=true] {biblatex}
#+LATEX_HEADER: \addbibresource{./test.bib}
#+MACRO: NEWLINE @@latex:\\@@ @@html:<br>@@
#+PROPERTY: header-args :exports both :session test :cache :results value :product postgres
#+OPTIONS: ^:nil
#+SETUPFILE: https://fniessen.github.io/org-html-themes/org/theme-readtheorg.setup
#+LATEX_COMPILER: pdflatex

* Introduction
[[cite:&hay_probabilistic_2015]] show that.

* Bibliography
[[printbibliography:]]
bibliographystyle:unsrt

This is the bibliography:

@article{hay_probabilistic_2015,
        title = {Probabilistic reanalysis of twentieth-century  sea-level rise},
        volume = {517},
        issn = {1476-4687},
        doi = {10.1038/nature14093},
        language = {eng},
        number = {7535},
        journal = {Nature},
        author = {Hay, Carling C. and Morrow, Eric and Kopp, Robert E. and Mitrovica, Jerry X.},
        month = jan,
        year = {2015},
        pmid = {25629092},
        keywords = {Uncertainty, History, 20th Century, History, 21st Century, Probability, Seawater, Bias, Climate Change, Human Activities, Oceans and Seas, Tidal Waves, Time Factors},
        pages = {481--484},
}

This is the output from running M-x org-ref in the org-mode file:

#+title: org-ref report on [[path/test.org][test.org]]

org-ref called from path/test.org


* Bibliography

- [[./test.bib]] (dialect = BibTeX)

* Miscellaneous

- org-latex-prefer-user-labels = nil
- bibtex-dialect = BibTeX
- biblatex is not required.
- biblatex is used.
- emacs-version = GNU Emacs 28.1 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.20, cairo version 1.16.0)
 of 2022-05-31
- org-version = 9.5.5
- org-ref: Version 3.0
- org-ref.el installed at /home/nils/.emacs.d/elpa/org-ref-20221015.1308/org-ref.el
- org-ref-insert-cite-function = org-ref-cite-insert-ivy
- org-ref-insert-label-function = org-ref-insert-label-link
- org-ref-insert-ref-function = org-ref-insert-ref-link
- org-ref-cite-onclick-function = (lambda (_) (org-ref-citation-hydra/body))
- org-latex-pdf-process is defined as (pdflatex -interaction nonstopmode -output-directory %o %f bibtex %b pdflatex -interaction nonstopmode -output-directory %o %f pdflatex -interaction nonstopmode -output-directory %o %f)
- natbib is not required.
- natbib is not in org-latex-default-packages-alist or org-latex-packages-alist.
- cleveref is not required.
- cleveref is not in org-latex-default-packages-alist or org-latex-packages-alist.
- bibtex-completion installed = t
- bibtex-completion loaded = t
- org-latex-default-packages-alist
  ("AUTO" "inputenc" t ("pdflatex"))
  ("T1" "fontenc" t ("pdflatex"))
  ("" "graphicx" t)
  ("" "longtable" nil)
  ("" "wrapfig" nil)
  ("" "rotating" nil)
  ("normalem" "ulem" t)
  ("" "amsmath" t)
  ("" "amssymb" t)
  ("" "capt-of" nil)
  ("" "hyperref" nil)
-  org-latex-packages-alist
  ("" "minted")
  ("AUTO" "babel" t)
- ox-bibtex loaded = nil
- ox-bibtex loaded after org-ref = nil
- ebib loaded = nil
- ebib loaded after org-ref = nil
- cite link definition:
("cite" :complete
 #[128 "\302\300\303\301�\"\"\207"
       [org-ref-cite-link-complete
        ("cite")
        apply append]
       6 "

(fn &rest ARGS2)"]
 :follow org-ref-cite-follow :face org-ref-cite-face :help-echo org-ref-cite-tooltip :export
 #[128 "\302\300\303\301�\"\"\207"
       [org-ref-cite-export
        ("cite")
        apply append]
       6 "

(fn &rest ARGS2)"]
 :activate-func org-ref-cite-activate)

* LaTeX setup

latex is installed at /usr/bin/latex
pdflatex is installed at /usr/bin/pdflatex
bibtex is installed at /usr/bin/bibtex
biblatex is installed at nil
makeindex is installed at /usr/bin/makeindex
makeglossaries is installed at /usr/bin/makeglossaries

* Warnings
- No (org-ref) Warnings found.
* Utilities

- [[elisp:(progn (find-file "/path/test.org") (ispell))][Spell check document]]
- [[elisp:(progn (find-file "/path/test.org") (org-ref))][recheck document with org-ref]]

In my emacs init file I have the following:

(setq org-latex-pdf-process '("pdflatex -interaction nonstopmode -output-directory %o %f"
                              "bibtex %b" "pdflatex -interaction nonstopmode -output-directory %o %f"
                              "pdflatex -interaction nonstopmode -output-directory %o %f"))

So to export to pdf I am attempting to run C-c C-e l o from test.org. There are no errors being produced when the pdf is created, however, the citation is not formatted and the the bibliography does not show up, i.e:
Screenshot from 2022-11-03 11-17-37

Thank you in advance.

@jkitchin
Copy link
Owner

jkitchin commented Nov 3, 2022

It sounds like maybe your latex process is not calling biblatex/biber.

Try: (setq org-latex-pdf-process (list "latexmk -shell-escape -bibtex -f -pdf %f"))

that seems to work for me.

image

@nilsleh
Copy link
Author

nilsleh commented Nov 3, 2022

That indeed does fix it, thank you for the fast reply. I now realize that it was also a suggested option in the manual, but I somehow missed that, apologies.

@AtomicNess123
Copy link

I am running into the same problem even having this lilne on my initfile:

(setq org-latex-pdf-process (list "latexmk -shell-escape -bibtex -f -pdf %f"))

My buffer test.org looks like this:

#+STARTUP: overview
#+STARTUP: indent
# #+OPTIONS: toc:2
#+OPTIONS: date:nil
#+LATEX_COMPILER: xelatex
#+LATEX_CLASS: article
#+OPTIONS: broken-links:t

#+TITLE: Title
#+AUTHOR: author1^{*,a}, aauthor2^{b,c}

*SUMMARY
[[cite:&Dirac1994]]

[[cite:&Dirac2000]]

* REFERENCES
[[bibliography:/Users/atomic ness/Documents/Dropbox/BibTex/mypaper.bib]]
[[bibliographystyle:journalZ]]
[[printbibliography:]]

LOG OUTPUT:

LaTeX Warning: Citation `Dirac1991' on page 1 undefined on input line _.
LaTeX Warning: Citation `Dirac2000' on page 1 undefined on input line _.

(./test.bbl)
! Undefined control sequence.
l.46 \printbibliography
                       
? 
! Emergency stop.
l.46 
     
End of file on the terminal!

@jkitchin
Copy link
Owner

jkitchin commented Mar 5, 2023

printbibliography requires you to use biblatex. From the look of your org file, you can probably just remove that line. The bibliography link is where the bibliography will go.

It looks like there is a space in the bibliography path. That sometimes causes problems.

You should see if the examples here work: https://github.com/jkitchin/org-ref/tree/master/examples

@AtomicNess123
Copy link

Thanks. I had a look at several examples.

I am uncertain about what Latex options to set up at the beginning of the org buffer (never used Latex before).

I just have these that I copied from somewhere:

#+LATEX_COMPILER: xelatex
#+LATEX_CLASS: article
#+LATEX: \printbibliography

Not sure if #+LATEX: \printbibliography is necessary.

Also uncertain about whether it is better to use bibLatex and how to make Emacs use it.

I changed my REFERENCES section like this:

[[bibliography:/Users/atomicness/Documents/Dropbox/BibTex/mypaper.bib]]
[[bibliographystyle:unsrt]]

Got a similar error message:

! Undefined control sequence.
l.30 \printbibliography
                       
? 
! Emergency stop.
l.30 
     
End of file on the terminal!

I just want to write my paper in Orgmode and then export to PDF with all the org-ref functionality.

@jkitchin
Copy link
Owner

jkitchin commented Mar 5, 2023

you can't just copy things from places and hope they work. you are mixing bibtex and biblatex here, which does not work. As I suggested earlier, remove #+LATEX: \printbibliography. And, see if the org-ref examples work for you. If they do slowly adapt one of them to your document, one step at a time, until your document works.

@AtomicNess123
Copy link

Thanks.

When you mentioned earlier to remove printbibliographyi thought you meant [[printbibliography:]], not the latex line.

Now I have removed it and it works.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants