-
-
Save mhucka/5ecb18aa2fd088c055de07366f70135e to your computer and use it in GitHub Desktop.
# ============================================================================= | |
# @file Makefile | |
# @brief Makefile for generating previews of the paper | |
# @author Michael Hucka <[email protected]> | |
# @license Please see the file named LICENSE in the project directory | |
# @website https://github.com/casics/dassie | |
# ============================================================================= | |
# Change the following values to match your configuration. | |
# ............................................................................. | |
input := paper.md | |
output := paper.pdf | |
bib := paper.bib | |
# Main code -- no more customization variables after this point | |
# ............................................................................. | |
title := $(shell grep title: $(input) | sed 's/title: *//' | tr -d "'") | |
authors := $(shell sed -n '/authors:/,/affiliations:/p' $(input) | grep name: | sed 's/- name: *//' | paste -d, -s - | sed 's/,/, /g') | |
repo := $(shell git remote get-url origin | sed 's|[email protected]:|https://github.com/|' | sed 's/\.git//') | |
$(output): $(input) $(bib) Makefile | |
pandoc \ | |
-V paper_title="$(title)" \ | |
-V citation_author="$(authors)" \ | |
-V repository="$(repo)" \ | |
-V archive_doi="http://dx.doi.org/00.00000/zenodo.0000000" \ | |
-V formatted_doi="00.00000/joss.00000" \ | |
-V paper_url="http://joss.theoj.org/papers/" \ | |
-V review_issue_url="http://joss.theoj.org/papers/" \ | |
-V issue="0" \ | |
-V volume="00" \ | |
-V year="2018" \ | |
-V submitted="00 January 0000" \ | |
-V published="00 January 0000" \ | |
-V page="00" \ | |
-V graphics="true" \ | |
-V joss_logo_path="whedon/resources/joss-logo.png" \ | |
-V geometry:margin=1in \ | |
-o $(output) \ | |
--pdf-engine=xelatex \ | |
--filter pandoc-citeproc $(input) \ | |
--from markdown+autolink_bare_uris \ | |
--template "whedon/resources/latex.template" | |
autorefresh:; | |
((ls $(input) $(bib) | entr make $(output)) &) |
Note that this apparently requires pandoc > 2.0. And beware that your Anaconda installation may be providing < 2.0 (as I just discovered).
There have a few changes in the whedon repository since this was written. The logo path and variable must now be changed to:
-V logo_path="whedon/resources/joss/logo.png" \
or you will end up with a not very helpful error:
Error producing PDF.
! LaTeX Error: File `' not found.
See the LaTeX manual or LaTeX Companion for explanation.
Type H <return> for immediate help.
...
l.315 \end{document}
make: *** [Makefile:24: paper.pdf] Error 43
This is due to an update in the latex.template
that now looks for logo_path
. The logo has also been shifted and now lives in whedon/resources/joss/logo.png
.
@pmundt thank you very much for that information. I am about to start writing another JOSS paper and will have a chance to test it and update this gist.
@steven-murray thank you very much for your work as well!
@rheiland thanks for your note. You made me realize this makefile should check the versions of things too.
@mhucka Note that the current version (with the aforementioned fixes applied) is unable to generate citations properly, I'm not sure if this was always a limitation or just something that's been broken by updates in the whedon latex template. I'll see if I can figure out what's going wrong, but have limited time to hunt this down at the moment.
Update for anyone who comes across this: I put a newer version of this Makefile in a separate gist at https://gist.github.com/mhucka/c0b82778417f38f7ae6ee7d051cec90a The new version incorporates changes from @steven-murray above and hopefully fixes a few issues like the one noted by @pmundt.
Update 2022-03-29: Discovered JOSS has changed to a different scheme for generating papers, and no longer uses Whedon. The updated makefile in the new gist doesn't account for that. I'm deleting the gist to avoid confusion.
Thanks for this! I found it very useful. In my case, I wanted to post my paper on arXiv, which will not accept pdf submissions (you have to submit the latex source). I did have to modify a few things from this Makefile, as seen below:
Note that I copied the
whedon/resources/latex.template
andwhedon/resources/joss-logo.png
into the same directory as thepaper.md
(this enabled me to zip it all up for submission). I also needed to comment out the line in the latex.template that set the bibliography (not quite sure why). It should be easy enough to auto-download those two files to the current directory in the Makefile, but I couldn't be bothered. Also, this keeps the actual tex file.