Vervollständigung durch benutzerdefiniertes Script

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

Markdown is OFF

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Vervollständigung durch benutzerdefiniertes Script

Erfolgreich gelöst

von Hahnsi » Mo 30. Mär 2020, 07:56

Vielen Dank für die Antwort! Gut möglich, dass es hier unter der falschen Rubrik aufgeführt ist.

Die Aufrufe zusammenzufassen war erfolgreich. Es läuft nun sehr viel effizienter. Daher kann der Post geschlossen werden.

von Gast » Do 26. Mär 2020, 17:27

PS: Ein erkennbarer Zusammenhang mit KOMA-Script ist für mich nicht auszumachen. Bist du sicher, dass die Frage nicht eher nach Allgemein oder eventuell noch nach Sonstige-Tools gehört?

von Gast » Do 26. Mär 2020, 17:26

Wenn du SearchIdInSpotFile.exe in Lua realisieren kannst, kannst du ausprobieren, ob die Verwendung lualatex mit eben diesem Lua-Code das ganze beschleunigt.

Die andere Möglichkeit wäre, die ganzen Aufrufe zu sammeln und dann in einem Aufwasch nur einen Aufruf durchzuführen, falls SearchIdInSpotFile.exe das zu leisten vermag. Dann muss man nur noch tool.log einmal passend zerschneiden oder ggf. nicht per \input lesen, sondern beispielsweise per \openin und dann zeilenweise. Genaueres kann ich ohne die Kenntnis der Programme und des konkreten Einsatzes nicht sagen.

Solange 400 und mehr Programmaufrufe notwendig sind, wird das immer eine gewisse Zeit kosten, auch wenn das Programm selbst dann vermutlich ziemlich schnell in Dateicache ist und nicht mehr direkt von Platte geladen wird. Programmaufrufe gehören aber auf fast allen System zu den relativ kostspieligen Dingen. Deshalb dürfte es keine so große Rolle spielen, wer das externe Programm aufruft. Beschleunigung ist am ehesten zu erwarten, wenn die Anzahl der Aufrufe reduziert werden kann. Wenn also ein einziger Prozess zuerst alle IDs suchen und das passend in eine oder mehrere Dateien ausgeben kann (man könnte die ja auch tool-ID.log nennen), dann wäre das vermutlich schneller.

Vervollständigung durch benutzerdefiniertes Script

von Hahnsi » Do 26. Mär 2020, 13:50

Hallo zusammen,

Ich erstelle derzeit ein Benutzerhandbuch. Inhalt dieses Handbuchs sind verschiedene Listen, die aus einer Datenbank generiert werden. Super Anwendungsfall für Latex! Nun komme ich an eine Hürde:
- Ich möchte, dass der Latex Compiler an einer bestimmten Text-Zeile ein Benutzerdefiniertes Programm aufruft und das Ergebnis dieses Programmaufrufs an entsprechende Stelle einfügt. Konkret geht es darum eine ID in einer XML-Datei zu suchen. Der Weg über \Write18 + \Input wie im nachfolgenden Beispiel dargestellt funktioniert grundsätzlich, allerdings handelt es sich derzeit um ca. 400 Programmaufrufe (Tendenz steigend), was extrem lange dauert. Gibt es eine effizientere Möglichkeit? Eine eingebettete Scriptumgebung o.ä.?

Code: Alles auswählen

\begin{document}
    \immediate\write18{SearchIdInSpotFile.exe 1741 > tool.log}
    \IfFileExists{tool.log}
    {
        \input{tool.log}
    }
    {}
\end{document}
Vielen Dank für eure Unterstützung.

Nach oben