pytask-dev / pytask-dev/pytask-latex

ENH: Make behaviour clear when some garbage files are in src directory

Open
#41 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

good first issue
Dominant language
Python
Stars
9
Forks
2
Avg merge
2d 11h
Merged PRs (30d)
2

Description

Just came across this while grading assignments, had run into it before myself:

We used \verb|pytask-latex| to compile our document -- a nice feature is that the \LaTeX\ garbage files are stored in the \verb|bld| folder, not the source folder. During the process of writing the report, however, we used source code editors (see above) which compile the document as well right in the \verb|src| folder. At this point, we noted an interesting complication: when the garbage files in the \verb|src| folder are not removed but the ones in the \verb|bld| folder are removed, then, \verb|pytask-latex| fails to compile the document in the \verb|bld| folder. It took us some experiments to figure out this behaviour but we suppose that, in this case, \verb|pytask-latex| at the first run of \verb|latexmk| thinks the garbage files in the \verb|src| folder are the relevant ones and therefore imports wrong ``settings.'' When both garbage file locations are cleaned or both of them are not cleaned, then all works well. Importantly, for unpacking the project it does not matter since we don't include the \verb|src| garbage files in the repository.

This happens easily if one has separate src/bld directories and (accidentally) tries to compile the document in the src folder. Very hard to understand what is happening then.

Not sure what should happen. In any case, first thing to do would be to check whether

  • src/bld are separate
  • and whether there are files in src that are side-effects of the compilation.

If true, possibilities I can think of:

  • Raise an explicit error (maybe with interactive option / command line suggestion to remove the files?)
  • Somehow ignore the files with side-effects in src (stash them like pre-commit does?)

Difficult thing might be to predict exactly which files will be there.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the behavior with separate src and bld directories, compiling through pytask-latex and latexmk, and leaving compilation side-effect files in src. Check how the plugin detects source and build directories and handles those files. Done should mean the behavior is explicit and predictable, with the chosen handling covered by a reproducible test or documented outcome.

Written by the indexing model from the issue text.

Assessment

Tech stack
latex, python
Domain
build-system
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.