pytask-dev / pytask-dev/pytask-latex
ENH: Make behaviour clear when some garbage files are in src directory
Nobody has claimed this yet.
- 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
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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