Code Monkey home page Code Monkey logo

Comments (6)

wtsnjp avatar wtsnjp commented on August 22, 2024 1

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.

wtsnjp avatar wtsnjp commented on August 22, 2024

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.

matteofg avatar matteofg commented on August 22, 2024

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.

matteofg avatar matteofg commented on August 22, 2024

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.

wtsnjp avatar wtsnjp commented on August 22, 2024

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.

matteofg avatar matteofg commented on August 22, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.