Comments (6)
We are planning the following changes for a more efficient workflow run, i.e., no extra latex command execution or repetition.
1. Change postprocess semantics
Currently, the program specified in postprocess is executed immediately after each program run. Change this behavior so that the program specified in postprocess is executed only once after completing all the sequence.
2. Introduce a new table key in_postprocess
in the programs
table
The settings specified within this table will only be applied when the program is executed as postprocess (overriding any existing settings if they conflict). This allows you to change whether or not the program is repeated when it is run normally in a sequence and when it is executed as a postprocess, for example.
With this new table key in place, we change the default [programs.latex]
setting as follows:
[programs.latex]
command = "lualatex"
opts = [
"-interaction=nonstopmode",
"-file-line-error",
"-synctex=1",
'-output-directory="%o"'
]
postprocess = "latex"
[programs.latex.in_postprocess]
aux_file = "%B.aux"
aux_empty_size = 9
Note that the postprocess setting shall be ignored if the program is run as a postprocess.
from llmk.
Thanks for your suggestion. Yes, I know the issue but have not considered it in depth yet. Should the repeat only be on the very last latex
program call, often as a postprocess? Or maybe we could introduce a rule like "unless there is a force_repeat
key, no repeat unless it is the last latex
execution." We could use that key explicitly if we need to converge cross-references, even if it is not the last run.
Furthermore, even if postprocess = "latex"
, it does not necessarily mean the latex
program must be executed more than once. For example, if sequence = ["latex", "bibtex", "makeindex"]
and both bibtex
and makeindex
are executed, it is unnecessary to run latex
immediately after bibtex
, but it is sufficient to run it after makeindex
is run.
from llmk.
In my opinion, any solution should not involve manual settings by the user. In fact, the most frequent use of llmk
is to explicit the workflow through the editor's magic comments (and not through TOML fields or llmk.toml
).
Of course, repetition should occur only at the last call of the LaTeX program. Also, the presence of an explicit force_repeat
key is definitely a positive option.
Matteo
from llmk.
We are planning the following changes for a more efficient workflow run, i.e., no extra latex command execution or repetition.
Hello,
is there any news?
from llmk.
No, unfortunately, I have been too busy to make progress.
I have decided on the design for the enhancement as above. No particular objections seem to have been raised. I will work on it when I can find the time, but for the time being, I do not expect to be able to do so. If you are in a hurry, please send me a pull request, and I will be able to review it.
from llmk.
Don't worry, I have no special needs.
I hope you'll find time soon to follow this implementation, which is especially useful for long documents that have many cross-references, tables, indexes, etc.
from llmk.
Related Issues (10)
- 最新のmasterで`bad argument`と言われる HOT 3
- Support for !TeX program HOT 5
- Bib2gls HOT 6
- glob like syntax for files HOT 8
- llmk.toml requires a newline at end of file
- default command "clean" like "latexmk (-c |-C)" HOT 2
- dvips の後に dvipdf が実行されてしまう HOT 2
- Confusing terminology for program names HOT 2
- bibtex does not run when .bib has different basename HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from llmk.