scipy-conference / scipy_proceedings

Tools used to generate the SciPy conference proceedings
Other
228 stars 530 forks source link

Put together latex template file for pandoc #677

Open deniederhut opened 2 years ago

deniederhut commented 2 years ago

Initial attempt here: https://github.com/scipy-conference/scipy_proceedings/pull/679

I have the tables working, but not the figure labels

ntjess commented 2 years ago

@deniederhut thanks for putting this together. Eventually, I think it would be great to facilitate some compatibility with Overleaf as well, since the vast majority of LaTeX collaborators I know strongly prefer that tool for writing .tex papers.

You are welcome to review my build script for a POC implementation that pulls overleaf content into the current paper worktree if that is of interest. I found it incredibly valuable for simultaneous editing with my co-authors. https://github.com/ntjess/scipy_proceedings/blob/bd9005b150e5a2b81269dd003aff82fba844ffa7/papers/221_jessurun/rebuild.py#L47-L82

Note that a more generalized solution can easily pull all content into the folder instead of selected subdirectories.

Micky774 commented 2 years ago

Just wanted to add that indeed my lab has several first-time-authors submitting to this conference and working w/ rST (and in particular debugging when something went wrong) was painful for them. Currently all the debugging is in terms of the generated style.tex file and not obvious for newcomers how to approach that. Some kind of style guide/template for use in Overleaf would be an amazing thing to have, but anything that allows for LaTeX as a paralell option to the rST submission would already be a huge improvement in our experience.

Also we really appreciate the effort you're putting in to continuously make this process smoother @deniederhut!

deniederhut commented 2 years ago

Eventually, I think it would be great to facilitate some compatibility with Overleaf

Cool idea! Yeah right now I think the biggest pain point for most submitters is the requirement to submit in rst, so top development priority for us is opening up submission formats to latex/markdown. I've never used overleaf before - how hard is that integration?

ntjess commented 2 years ago

It is backed by a git repo by default, so should be trivial if I had to guess: image

My workflow for this paper was to git checkout --worktree=<paper/dir> -- <tex-files> and it went quite nicely. If you had the user configure an Overleaf repo environment variable, the publisher script that SciPy is using can simply run a checkout command before compiling the paper.

If you're interested, I can give you access to my Overleaf scipy project's git repo (it's all public anyway) and you can run my sync/build script for yourself to test it out :)

Usage:

# rebuild.py checks for an "OVERLEAF_CURRENT_REPO" environment variable if "overleaf" doesn't exist
# Or just add the remote yourself first
git remote add overleaf https://overleaf/git/repo.git
cd papers/221_jessurun
python rebuild.py

# Open the Overleaf project and add some text
# ...

# Then, come back to your prompt and run:
python rebuild.py --sync-overleaf
# New output will have all changes without manual syncing required

Note that create_rst_sections() is only necessary since LaTeX was not a viable format for 2022.

ntjess commented 2 years ago

Forgot to add: it should also be minimally intrusive to people already using overleaf, since the git repo is the same as the project url 🙂 No need to even open the side bar if you prefer. image

gpoore commented 2 years ago

@deniederhut Thanks for all your work with the proceedings this year! It looks like you have already made some good progress on Pandoc support. If more help is needed to finish this for next year, I'm interested. I actually wrote my 2022 proceedings paper in Markdown, and then converted to rST using Pandoc. (Pandoc allows including raw rST in Markdown, so I used that for a few edge cases, and also used Lua filters to create some syntax abbreviations.)

Once Pandoc support is in place, that could allow proceedings papers to be more reproducible. Pandoc supports Jupyter notebooks, Quarto/RMarkdown use Pandoc internally, and I've been working on Pandoc-based executable documents myself with Codebraid.