thomasjo / atom-latex

Compile LaTeX or knitr documents from within Atom
https://atom.io/packages/latex
MIT License
223 stars 42 forks source link

BibTeX fails with magic filestructure specification #393

Closed SamWolski closed 7 years ago

SamWolski commented 7 years ago

When compiling into specific output directories (eg ./build), BibTeX behaves correctly when the globals are set in the package settings.

However, when this is attempted without the appropriate package settings but with the magic in-document commands % !TEX outputDirectory = build then BibTeX fails. (I suspect due it being unable to find the .aux file, as that is what came up when running the build commands explicitly in the command line)

yitzchak commented 7 years ago

Thanks for the issue report. I suspect this is probably due to latexmk needing to set BIBINPUTS. Do you have a simple document that replicates the issue and what os/TeX distribution are you on?

yitzchak commented 7 years ago

I have not been able to reproduce this yet. Do you have a sample document that replicates the issue?

SamWolski commented 7 years ago

Hi @yitzchak I am currently running TeX Live 2017 on macOS Sierra 10.12.6

I'm a little busy at the moment, but I will get a MWE up and running as soon as I can.

yamokosk commented 7 years ago

Actually I am not sure what is quite meant by BibTeX behaves correctly when the globals are set in the package settings. I have specified an output directory in the plugins' settings GUI. When I do and try to build this MWE:

\RequirePackage{filecontents}
\begin{filecontents*}{testxcite1.tex}
\chapter{Chapter One}
Text \cite{adams}
\end{filecontents*}
\begin{filecontents*}{testxcite2.tex}
\chapter{Chapter Two}
Text \cite{companion}
\end{filecontents*}
\begin{filecontents*}{testxcite3.tex}
\chapter{Chapter Three}
Text \cite{adams} \cite{companion}
\end{filecontents*}
\begin{filecontents*}{\jobname.bib}
@Book{companion,
  author    = {Goossens, Michel and Mittelbach, Frank and Samarin, Alexander},
  title     = {The LaTeX Companion},
  edition   = {1},
  publisher = {Addison-Wesley},
  location  = {Reading, Mass.},
  year       = {1994}
}
@Book{adams,
  title     = {The Restaurant at the End of the Universe},
  author    = {Douglas Adams},
  series    = {The Hitchhiker's Guide to the Galaxy},
  publisher = {Pan Macmillan},
  year      = {1980}
}
\end{filecontents*}

\listfiles   % to show used packages and versions
\documentclass{report}
\usepackage[authoryear,comma,nonamebreak,round,sort&compress]{natbib}

\bibliographystyle{plainnat}

\begin{document}
\include{testxcite1}
\include{testxcite2}
\include{testxcite3}
\bibliography{\jobname}
\end{document}

It fails to pull in the bib references. However, if I clear out the build directory setting in the GUI, the refs get pulled in correctly.

yitzchak commented 7 years ago

@yamokosk What OS and TeX distribution are you using?

yamokosk commented 7 years ago
$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.3 LTS
Release:        16.04
Codename:       xenial
$ dpkg -s texlive | grep '^Version:'
Version: 2015.20160320-1
yitzchak commented 7 years ago

@SamWolski @yamokosk Do you have BIBINPUTS, BSTINPUTS or TEXINPUTS set in your environment?

yamokosk commented 7 years ago

No.

$ env | grep "BIBINPUTS\|BSTINPUTS\|TEXINPUTS"
$
SamWolski commented 7 years ago

Same here, nothing.

@yamokosk What you said is what I was referring to in the "globals" (not sure if that's the correct term but I'm fairly sure I saw them referred as that somewhere). Basically, setting the build directory in the package GUI settings.

SamWolski commented 7 years ago

Appears to be fixed with the latest update? Tried on both my original file and @yamokosk's example, and they both work fine regardless of whether the build directory is set at the package level or with the magic command (including Atom restarts and aux file trashing).