Kopiert aus
meinem Blog , um eine weitere russischsprachige Informationsquelle zu diesem Thema zu erstellen.
Dieser Artikel ist eine Fortsetzung der folgenden Artikel in einem einzigen Zyklus:
Artikel 1Artikel 2Artikel 3LyX: \\. \ Pipe \ lyxpipe
Im Allgemeinen wird diese Funktion benötigt, um die LyX-Interaktion mit anderen Programmen zu organisieren. Insbesondere stellt sich heraus, dass Sie Befehle über die Befehlszeile in einem geöffneten LyX-Programmfenster eingeben können! Dazu geben Sie zunächst unter
Extras> Einstellungen> Pfade im Textfeld
LyX-Serverkanal Folgendes ein:
\\.\pipe\lyxpipe
, und weder
.in
noch
.out
werden der Lyxpipe bis zum Ende zugeordnet. Natürlich klicken Sie auf
. Außerdem muss das LyX-Programmfenster, in das Befehle über das Eingabeaufforderungsfenster eingegeben werden mussten, vor dieser Befehlszeile gestartet werden, über die Befehle in dieses LyX-Programmfenster eingegeben werden, da sonst nichts funktioniert. Hier sind Beispiele, wie Sie Befehle in die Befehlszeile schreiben, um dies zu erreichen:
echo LYXCMD:sohranenie:buffer-write> \\.\pipe\lyxpipe.in echo LYXCMD:formula:math-mode:\alpha> \\.\pipe\lyxpipe.in echo LYXCMD:vstgrafiki:inset-apply:graphics filename zdes kujut hip-hop.png> \\.\pipe\lyxpipe.in
Meiner Meinung nach verdient das letzte Team Interesse. Dieser Befehl fügt ein Foto
zdes kujut hip-hop.png )) ein, das sich in dem Ordner
befindet, der unter Extras > Einstellungen ...> Pfade im Textfeld
Benutzerverzeichnis im LyX-Programmfenster geöffnet ist (bevor die Befehlszeile geöffnet wird).
LyX: Vorwärts- und Rückwärtssuche
Wie dies konfiguriert ist, wird
hier beschrieben. Ich sage Ihnen nur, wie ich es auf Russisch gemacht habe. Also Wir verwenden eine unsortierbare Version von SumatraPDF. Also haben wir es heruntergeladen, installiert. Stellen Sie als Nächstes unter „Start> Standardprogramme> Dateitypen oder Protokolle einzelnen Programmen zuordnen“ sicher, dass
.pdf
Dateien mit SumatraPDF geöffnet werden. Dann gehen wir zum Ordner
C:\Users\\AppData\Roaming\SumatraPDF
. Kopieren Sie von dort aus die
SumatraPDF-settings.txt- Datei an einen
beliebigen Ort.
Als nächstes musste der Pfad zu dem Ordner hinzugefügt werden, der die SumatraPDF-Datei enthält, die das Programm öffnet (ich habe diesen Ordner
C:\Program Files\SumatraPDF
). Aus irgendeinem Grund habe ich dies zu den
Benutzerumgebungsvariablen für IVAN hinzugefügt. Außerdem muss der Pfad zu dem Ordner, der die Datei enthält, die das LyX-Programm startet (für mich
C:\Program Files\LyX 2.0\bin
), ebenfalls in PATH enthalten sein.
C:\Program Files\SumatraPDF
Sie anschließend in den Ordner
C:\Program Files\SumatraPDF
, und öffnen Sie die Datei
SumatraPDF.exe . Klicken Sie im angezeigten Fenster des SumatraPDF-Programms mit der linken Maustaste auf die 3 horizontalen Balken in der oberen linken Ecke (oder möglicherweise in der Ecke)) und
wählen Sie Einstellungen> Erweiterte Einstellungen . Gleichzeitig wird dieselbe
SumatraPDF-settings.txt- Datei im
Editor geöffnet, von der wir eine Kopie an einem abgelegenen Ort abgelegt haben. Jetzt können wir mit dieser Datei tun, was wir wollen. Und wir werden das Folgende mit ihm machen. Hier ist eine Liste einiger Variablen mit ihren Werten:
ReuseInstance = true ReloadModifiedDocuments = true InverseSearchCmdLine = lyxeditor.cmd "%f" %l EnableTeXEnhancements = true UseTabs = true
Also. In der
SumatraPDF-settings.txt- Datei prüfen wir das Vorhandensein dieser Variablen (Wörter links vom Gleichheitszeichen). Wenn sie vorhanden sind, prüfen wir die Übereinstimmung des Werts (Wörter rechts vom Gleichheitszeichen) der in dieser Datei gefundenen Variablen aus der obigen Liste mit den Werten von z gleiche Variablen aus dieser Liste. Wenn in der obigen Liste der Wert einer Variablen vom Wert der entsprechenden Variablen in der Datei abweicht, muss der Wert dieser Variablen auf den gleichen Wert wie in der obigen Liste zurückgesetzt werden. Wenn eine Variable aus der Liste zusammen mit ihrem Wert nicht in der Datei wäre, müssten wir nur die Variable zusammen mit ihrem Wert in die Datei kopieren. Nun, persönlich habe ich an dieser Datei nichts geändert: Alle in der Liste aufgeführten Variablen waren bereits in der Datei vorhanden, und all diesen Variablen in der Datei wurden die entsprechenden in der Liste aufgeführten Werte direkt bei der Installation von SumatraPDF zugewiesen. Schließen Sie, speichern Sie die Änderungen. Das war's, SumatraPDF wird danach konfiguriert. Wir fahren mit der Konfiguration von LyX fort. Öffnen Sie das LyX-Programm, wenn es noch nicht geöffnet oder aus irgendeinem Grund geschlossen wurde. Gehen Sie zu
Extras> Einstellungen ...> Pfade .
Geben Sie in das Textfeld
des LyX-Serverkanals Folgendes ein
\\.\pipe\lyxpipe
Gehen Sie dann zu
Extras> Einstellungen ...> Dateiverarbeitung> Konverter .
Wählen Sie dort mit der linken Maustaste im Bereich unter dem Begriff
Definitionen der Konverter LaTeX (pdflatex) -> PDF (pdflatex) aus. Als Nächstes löschen wir seinen Inhalt aus dem
Konverter- Textfeld und fügen Folgendes ein (oder geben es von Hand ein):
pdflatex -interaction=nonstopmode -synctex=1 $$i
Löschen Sie außerdem den Inhalt aus dem Textfeld. Klicken Sie auf die Schaltfläche
Ändern . Dann
speichere . Gehen Sie zurück zu
Extras> Einstellungen ...> Dateiverarbeitung> Konverter . Überprüfen Sie, ob die Einstellungen gespeichert sind. Wenn ich jetzt dorthin gehe und in beide Richtungen
suche , gebe ich nach dem Klicken mit der linken Maustaste
LaTeX (pdflatex) -> PDF (pdflatex) Folgendes ein :

Gehen Sie dann zu
Extras> Einstellungen ..> Ausgabe> Allgemein . Geben Sie dort im Textfeld
PDF-Befehl den folgenden Befehl ein:
SumatraPDF -forward-search "$$t" $$n "$$o"
Klicken Sie auf
Übernehmen . So wird dieser Ort so aussehen:

Gehen Sie zu
Extras> Einstellungen ..> Dateihandhabung> Dateiformate . Dort legen wir die Dropdown-Liste
Format fest, indem wir den
PDF- Wert
(pdflatex) mit der linken Maustaste und den
benutzerdefinierten Wert in der Dropdown-Liste
Viewer auswählen und in das Textfeld rechts von dieser Liste eingeben
SumatraPDF
Derzeit gibt es:

Und schließlich erstellen Sie im
C:\Program Files\LyX 2.0\bin
eine Datei mit dem Namen
lyxeditor und der Erweiterung
.cmd
(es stellt sich heraus, dass dies dieselbe Batchdatei ist) mit folgendem Inhalt:
@echo off SETLOCAL enabledelayedexpansion set file=%1 set row=%2 REM remove quotes from variables set file=!file:"=! set row=!row:"=! %comspec% /q /c (@echo LYXCMD:revdvi:server-goto-file-row:%file% %row%)> \\.\pipe\lyxpipe.in&&type \\.\pipe\lyxpipe.out endlocal
Ich habe den Code für diese Batch-Datei
von hier genommen, als ich auf den Link auf der englischen Seite geklickt habe, dessen Inhalt ich hier nacherzähle (der Link zu dieser Seite wurde von mir hier nur oben angegeben). Ehrlich gesagt, über das Erstellen einer Batch-Datei auf einer Seite in Englisch wurde schon viel früher gesagt, als dies für mich getan wurde, aber was ist der Unterschied? Übrigens hat mich der Code dieser Batch-Datei dazu veranlasst, über die Eingabe von Befehlen in der Befehlszeile nachzudenken, damit diese von dieser Zeile aus in das geöffnete LyX-Programmfenster eingegeben werden, das als Grundlage für das Schreiben des
LyX- Absatzes diente
: \\. \ Pipe \ lyxpipe dieses Artikels. Davor habe ich versucht, Befehle von der Befehlszeile in das LyX-Programmfenster einzufügen, wobei ich diese Befehle aus dem Handbuch übernommen habe. Ich habe beispielsweise versucht, den folgenden Befehl von der Befehlszeile aus auszuführen:
echo "LYXCMD:test:get-xy:" >~/.lyxpipe.in
aber für mich hat nichts geklappt. Nun, und jetzt kehren wir zu der Suche im Zusammenhang mit LyX zurück. Wie benutzt man es? Aber sehr einfach. Wenn wir nun eine Vorschau der geöffneten
.lyx
Datei erstellt haben, werden, wenn Sie im entsprechenden SumatraPDF-Fenster kurz auf
Navigation> Vorwärtssuche klicken, mehrere Zeilen, die dasselbe Wort enthalten, (zumindest für mich) neben dem entsprechenden Wort im LyX-Fenster in lila hervorgehoben momentan blinkender Cursor. Wenn Sie in das SumatraPDF-Fenster doppelklicken, wird der Fokus auf das LyX-Fenster übertragen und der Cursor beginnt dort zu blinken. Wenn Sie an verschiedenen Stellen des SumatraPDF-Fensters klicken, beginnt der Cursor an verschiedenen Stellen des LyX-Fensters zu blinken. Ich kann nichts spezifischeres über die Beziehung der Cursorposition in LyX zu den in SumatraPDF hervorgehobenen Zeilen sowie die Beziehung der Doppelklickposition in SumatraPDF zu der Stelle im LyX-Fenster sagen, an der der Cursor zu blinken beginnt. Die Aufgabe ist also ziemlich kompliziert. Lassen Sie mich Ihnen eine Übersetzung dieser Seite geben, deren Inhalt ich hier nacherzähle und die mit dem Google-Browser erstellt wurde: Ich habe plötzlich etwas übersehen. Also
Aus MyNotes
Aktualisiert auf die neueste Version 2.3.32019
MiKTeX-Benutzer sollten vor der Installation von LyX 2.3.3+ für Windows ein Upgrade auf die neueste Version durchführen. Wenn Sie eine permanente Installation von
SumatraPDF haben , müssen Sie
-inverse-search nur
EINMAL installieren, genau wie bei der Verwendung von Registerkarten. Wir müssen keine Zeit damit verbringen, zu entscheiden, welche Sitzung
angesprochen werden soll . Beachten Sie, dass SumatraPDF mehrere Fenster und Sitzungen haben kann, dies geht jedoch über den Rahmen dieser Antwort hinaus. InverseSearchCmdLine = dauerhaft in SumatraPDF-settings.txt gespeichert. Es sollte nicht vom Editor angepasst werden, es sei denn, Sie müssen SumatraPDF-settings.txt neu installieren oder auf andere Weise ersetzen (Backup erstellen!)
Einstellungen in SumatraPDF
Der bemerkenswerte Unterschied besteht darin, dass wir zur stabileren
Okular- Cmd-Datei zurückkehren (
Okular verwendet genau dasselbe Aufrufsystem wie
SumatraPDF ), wodurch unnötige Aufrufe vermieden werden.
SumatraPDF muss so installiert sein, dass es von jedem Systemaufruf wie
SumatraPDF aus funktioniert.
Dies bedeutet, dass es "on the way" sein muss (wenn die portable Version verwendet wird, muss
SumatraPDF.exe vorübergehend bis zum ersten Lyx-Aufruf zum Pfad des Benutzers hinzugefügt werden). Starten Sie
SumatraPDF und gehen Sie zu
Einstellungen> Erweiterte Optionen . Dadurch wird die Datei
SumatraPDF-settings.txt in
NotePad geöffnet . Nachdem Sie die Einträge überprüft haben, können Sie Folgendes überprüfen oder ändern.
ReuseInstance = true ReloadModifiedDocuments = true InverseSearchCmdLine = lyxeditor.cmd "%f" %l EnableTeXEnhancements = true UseTabs = true
Denken Sie daran, dass
%l
ein Kleinbuchstabe L ist, und drücken Sie
STRG +
S (Datei speichern). Wenn Sie
c: ... LyX \ bin \
zu dieser
InverseSearchCmdLine hinzufügen müssen , haben Sie LyX falsch installiert. Die
.cmd
Datei befindet sich im Ordner bin, der sich im Systempfad befinden MUSS.
Einstellungen in LyX
Folgen Sie den
SyncTex- Anweisungen auf
wiki.lyx.org/LyX/SyncTex .
"(Hinweis: Die umgekehrte Suche nach .lyx-Dateien mit Leerzeichen oder anderen Sonderzeichen im Dateinamen funktioniert auf einigen Windows-Systemen nicht immer mit dieser Methode.)"
Meine Notizen: Aufgrund dieser einzigartigen Methode zum Aufrufen des von LyX unter Windows verwendeten Kanals [1] ist es manchmal erforderlich, dass die Arbeitsdatei und ihr Pfad KEIN LEERZEICHEN ENTHALTEN. Wenn dies nicht funktioniert, müssen Sie Probleme mit der LyX-Unterstützung melden . Wenn Sie eine aktive
LyXserver- Sitzung mit dem Remote-Pfad in Anführungszeichen einfacher aufrufen können, geben Sie unten einen Kommentar ein. Das Problem ist, dass
LyXserver zwei aufeinander folgende Werte erwartet:
1)
SyncTeX hat den Dateinamen
.tex
2) gefolgt von einer Zeilennummer. Wenn der Dateiname Leerzeichen enthält, ist der erste Teil möglicherweise ungültig, da der Dateiname und der zweite Teil eindeutig keine Zahl ist. Dies funktioniert möglicherweise, wenn die Dateinamen analysiert werden Wie das ältere 8.3-Format, aber die meisten modernen Windows-Dateien verwenden das LFN-Format. Die
lyxeditor.cmd- Datei versucht, diese Probleme
umzugehen . Auffällige Unterschiede zu anderen Ansätzen
Fügen Sie keine unnötigen und veralteten Optionen / Direktiven für die
Wiederverwendung von Instanzen oder die
umgekehrte Suche hinzu (sie werden nicht benötigt und verlangsamen die korrekte
Anforderung für die
Vorwärtssuche .)
Extras → Einstellungen → Pfad
- Fügen Sie das Verzeichnis, in dem sich SumatraPDF.exe befindet, der PATH-Präfix-Zeile hinzu. (Dies ist für eine permanente Installation nicht erforderlich, kann jedoch für den portablen Einsatz hilfreich sein.)
- Setze die Zeile LyXServer pipe \\. \ Pipe \ lyxpipe (benutze NICHT die Browse-Taste).
Extras → Einstellungen → Dateiverarbeitung → Konverter
- Wähle das LaTeX (pdflatex) Format -> PDF (pdflatex)
- Setzen Sie den Eingabekonverter auf pdflatex -interaction = nonstopmode -synctex = 1 $$ i

- Klicken Sie auf "Ändern" (andernfalls wird die Änderung abgebrochen).
- Diese Änderung erfordert, dass MikTeX oder TeX Live die Datei FILE.synctex.gz erstellen.
Gehen Sie raus und gehen Sie zurück, um zu überprüfen, ob es geändert wurde. Ich habe ein paar Änderungen vorgenommen, um es zurückzusetzen und von einer Sitzung zur nächsten zu pinnen.
Extras → Einstellungen → Ausgabe → Allgemein.
Setzen Sie im Abschnitt Direkte Suche den PDF-Eingabebefehl auf SumatraPDF -forward-search "$$ t" $$ n "$$ o".
Extras → Einstellungen → Dateiverarbeitung → Dateiformate
- Wählen Sie das PDF-Format (pdflatex)
- Setzen Sie das Feld Ansicht mit dem Befehl SumatraPDF auf Benutzerdefiniert
- Möglicherweise müssen Sie alle SumatraPDF-Fenster schließen und Dokument → Ansicht verwenden.
- Sie können den Befehl für die Rückwärtssuche direkt in SumatraPDF einstellen, indem Sie wie oben beschrieben zu „Einstellungen → Erweiterte Optionen“ gehen und die Rückwärtssuche einstellen. In diesem Fall reduzieren Sie den Befehl Ansicht auf
SumatraPDF

JEGLICHE Probleme mit diesem Inverse Search-Aufruf sollten mit Lyx-Unterstützung einhergehen, da dies die empfohlene Methode ist, nicht meine!
[1] Die Verwendung von Named Pipes im Speicher beschleunigt und verringert die Notwendigkeit, eine Anwendung über Shell-Optionen aufzurufen. Wie bei DDE- oder D-Bus-Methoden ist sie jedoch für die meisten Benutzer ungewohnt und kann zur Behebung von Problemen problematisch sein.
Hinweis Stellen Sie sicher, dass lyx die Datei geöffnet hat. Die Schaltfläche Vorwärts / Rückwärts aktivieren ist aktiv. Kompilieren Sie die Datei und zeigen Sie sie an. Klicken Sie anschließend mit der rechten Maustaste und wählen Sie etwa 6 Optionen aus
Die Plätze sind nicht 1 zu 1 (Seiten scheinen möglicherweise "aus" zu sein). Dies kann helfen, eine direkte Suche zu sehen, indem Sie SumatraPDF-settings.txt einstellen
HighlightPermanent = true
Um zur entsprechenden Seite zurückzukehren, doppelklicken Sie einfach auf eine beliebige Stelle in SumatraPDF, um lyxeditor.cmd aufzurufen.
Wie Sie sehen, gibt es noch einige Nuancen, die von mir nicht erwähnt werden. Als ich alles eingerichtet habe, habe ich diese Nuancen einfach nicht gebraucht.
LyX; Verwendung von .bat-Dateien
Obwohl es auf den ersten Blick nicht möglich ist, neue Exportformate zu LyX hinzuzufügen (soweit ich zum Beispiel in TeXworks verstehe, besteht ein Analogon für eine solche Möglichkeit des Hinzufügens in der Möglichkeit, ein neues Layout-Tool zu erstellen), hat dieses Programm eine solche Möglichkeit. Versuchen wir zunächst, das folgende Exportformat zu erstellen, das auf den ersten Blick nachsichtig erscheint. Die folgenden PATH-Variablen sind im LyX-Programm definiert:
$$s The LyX system directory (eg /usr/share/lyx). $$i The input file $$o The output file $$b The base name (without filename extension) in the LyX temporary directory $$p The full directory path of the LyX temporary directory $$r The full pathname to the original LyX file being processed $$f The filename (without any directory path) of the LyX file. $$l The `LaTeX name'
Dies ist ein Auszug aus einem Teil des LyX-Programmhandbuchs. Wir werden keine Erklärungen der Bedeutungen und Bedeutungen dieser Variablen übersetzen, sondern versuchen, ein neues Exportformat zu erstellen (mit dem Erscheinen einer neuen Schaltfläche unter
Datei> Exportieren nach , einschließlich durch Klicken auf, in das wir in das Format dieser
.lyx
Datei
.lyx
, aus dessen Fenster dieser Klick gemacht wurde), während des Exports, in welches in dem temporären Verzeichnis (in dem zum Beispiel beim Export nach
PDF {pdflatex} zusätzlich zu der erzeugten
.pdf
Datei Dateien erzeugt werden) die
puti.txt- Datei erzeugt wird, in der ( alle) die Werte dieser Variablen . Erstellen Sie dazu in dem Ordner, der PATH hinzugefügt wurde, eine
puti.bat- Datei
mit dem folgenden Inhalt:
chcp 1251 cd /d %0\.. echo %1 >puti.txt echo %2 >>puti.txt echo %3 >>puti.txt echo %4 >>puti.txt echo %5 >>puti.txt echo %6 >>puti.txt echo %7 >>puti.txt echo %8 >>puti.txt echo %1/%~2 >>puti.txt
Als nächstes befinden sich in der Datei
C:\Users\\AppData\Roaming\LyX2.0\lyxrc.defaults
die Zeilen
.................................... \Format pdf4 pdf "PDF (XeTeX)" X "pdfview" "" "document,vector,menu=export" \Format pdf5 pdf "PDF (LuaTeX)" u "pdfview" "" "document,vector,menu=export"
füge eine solche Zeile hinzu
\Format pdf6 txt "puti" F "pdfview" "" "document,vector,menu=export"
Hier gibt das Wort
puti nicht
die Datei mit dem Code an, der die Engine des erstellten Exportformats ist, sondern unter welchem Namen und wo die Schaltfläche zum Aufrufen dieses Exportformats zu
Datei> Exportieren nach angezeigt wird
.................................... \converter pdflatex pdf2 "pdflatex $$i" "latex=pdflatex" \converter xetex pdf4 "xelatex $$i" "latex=xelatex" \converter luatex pdf5 "lualatex" "latex=lualatex"
Nach der Zeile, die das pdf5-Format definiert, wird die folgende Zeile eingefügt:
\converter pdflatex pdf6 "puti.bat $$b $$f $$i $$l $$o $$p $$r $$s" ""
Und hier definiert das Wort
puti eine Datei mit Code, die die Engine des erstellten Exportformats ist. Und an dieser Stelle in der Datei
lyxrc.defaults müssen Sie bereits die Erweiterung dieser Datei mit dem Code (in diesem Fall
.bat
) angeben, sonst funktioniert es nicht! .. Und dann werden, wie Sie vielleicht vermuten, zum einen die Parameter angegeben, mit denen Diese Datei mit dem Code wird gestartet, wenn der Export in das erstellte Format gestartet wird. Andererseits werden diese Parameter in der Form aufgerufen, die das LyX-Programm kennt, und wenn Sie diese Datei daher mit dem Code aus der in LyX geöffneten Datei aufrufen, bevor LyX geöffnet wird Datei mit dem Code des entsprechenden Programms mit Parametern, einigen und Von denen sie aus Teilen des vollständigen Pfads zur exportierten Datei und aus anderen Teilen des vollständigen Pfads zu einigen wichtigen Ordnern des Systems gebildet werden, ersetzt sie diese in dieser Form genannten Parameter sozusagen durch beinahe reale Werte, die für die Verwendung im Befehl nahezu geeignet sind Linie. Warum "fast" wird später klar. Das ist alles,
Sie müssen nichts anderes in der
lyxrc.defaults- Datei tun:
Fügen Sie dort weder neue
\ editor_alternatives oder
\ viewer_alternatives hinzu , noch ähnliches ... Nachdem Sie die
lyxrc.defaults- Datei auf diese Weise gespeichert und neu
gestartet haben , haben Sie sie geändert Bei LyX-Programmen unter
Datei> Exportieren nach wird eine neue Schaltfläche angezeigt:

Bevor Sie darauf klicken, klicken Sie auf "
Ansicht"> "Nachrichten anzeigen" (wenn ich LyX aus einer von einer anderen Quelle heruntergeladenen ausführbaren Datei installiert habe, wurde diese Schaltfläche "
Nachrichten anzeigen" genannt , da für diese Kopie des Programms eine andere Lokalisierungsdatei "
.mo
) Normalerweise wird am unteren Rand des LyX-Programmfensters ein Bereich mit dem Namen
Progress / Debug Messages angezeigt. Nun können Sie auf den von uns erstellten Button klicken. Gleichzeitig flackern im
Bereich Meldungen zum Fortschritt / Debugging Informationen zum Exportvorgang und scrollen nach unten. Nach dem Ende eines solchen Flimmerns suchen wir den Pfad zum temporären Ordner, in dem die Vorfalldateien abgelegt sind, zusätzlich zu der Datei des Typs, den Sie im selben Ordner wie die exportierte
.lyx
Datei empfangen
.lyx
. Alle diese Pfade sind einander mehr oder weniger ähnlich, so dass es keinen Fehler geben kann. Hier ist zum Beispiel eine dieser Möglichkeiten:
D:\1-kat-LyX\lyx_tmpdir.gq2748\lyx_tmpbuf2
Gehe in diesen Ordner. Es wird unter anderem die Datei
puti.txt geben , die wir als Ausgabe für dieses Exportformat festlegen. Wenn Sie es öffnen, sehen Sie etwa Folgendes:
D:/1-kat-LyX/lyx_tmpdir.gq2748/lyx_tmpbuf2/newfile2 newfile2.lyx newfile2.tex $$l newfile2.txt D:/1-kat-LyX/lyx_tmpdir.gq2748/lyx_tmpbuf2/ C:/DocLyX/ $$s D:/1-kat-LyX/lyx_tmpdir.gq2748/lyx_tmpbuf2/newfile2/newfile2.lyx
Eine Datei mit diesem Inhalt wurde beim Export in das von mir erstellte
C:\DocLyX\newfile2.lyx
. Wie Sie sehen, haben nicht einmal alle Parameter ihre Werte erweitert, was jedoch die Erstellung einiger anderer von mir konzipierter Exportformate nicht beeinträchtigt. Hier wird jedoch ein solches Problem entdeckt, das in der "fast" Kompatibilität mit der oben erwähnten Befehlszeile besteht. Das heißt: Das Trennzeichen in den Pfaden, die auf diese Weise in der
.txt
Ausgabedatei erhalten werden, ist das Zeichen
/
anstelle des herkömmlichen, zumindest für Windows.
\
. Um den auf diese Weise erhaltenen Pfad verwenden zu können, müssen Sie höchstwahrscheinlich eine Datei erstellen Fügen Sie mit dem Code, der als Engine für das erstellte Exportformat verwendet werden soll, den Abschnitt zum Ersetzen von
/
durch
\
. Wir werden dies in Zukunft berücksichtigen. Vergleicht man die Reihenfolge, in der die Parameter in der Datei
lyxrc.defaults aufgelistet sind, mit der ich das
Starten erzwinge (und es kann gestartet werden))), die Datei
puti.bat, die Datei
puti.bat selbst mit dem Inhalt der Datei
puti.txt , so kommt man zu dem Schluss, dass andere erstellt werden , , , , , LyX.
$$i — ,
puti.txt .tex ,
.lyx , , , MiKTeX, — , , . - .
$$r — LyX
.lyx ,
.tex , .
,
puti . . - «» LyX LyX . ,
.lyx . ,
lyxrc.defaults ,
puti . :
\Format pdf7 pdf "pdflatex v papke" F "pdfview" "" "document,vector,menu=export"
und
\converter pdflatex pdf7 "pdflatex-v-papke.bat $$r $$i" ""
, .
puti , , (
.bat
), . ,
pdflatex-v-papke.bat :
cd /d %0\.. chcp 1251 echo LYXCMD:sohranenie:buffer-write> \\.\pipe\lyxpipe.in if exist perehod.bat (goto :vyhod3) else (goto :vhod) :vhod echo %1 > put0.txt echo cd /d %%0\..>> pereim.bat echo SetLocal EnableExtensions EnableDelayedExpansion>> pereim.bat echo Set infile=put0.txt>> pereim.bat echo Set outFile=put.txt>> pereim.bat echo Set find=/>>pereim.bat echo Set replace=\>>pereim.bat echo for /F "UseBackQ delims=" %%%%n in ("%%infile%%") do (>> pereim.bat echo set "LINE=%%%%n">> pereim.bat echo set "LINE=!LINE:%%find%%=%%replace%%!">> pereim.bat echo echo.!LINE!^>^>%%outFile%%>> pereim.bat echo )>> pereim.bat echo exit>> pereim.bat start /b pereim.bat :vhod1 if exist put.txt (goto :vyhod1) else (goto :vhod1) :vyhod1 echo chcp 1251 > perehod.bat echo cd /D^^>>perehod.bat more < put.txt >> perehod.bat echo del %~n2.tex>> perehod.bat echo :vhod2 >> perehod.bat echo lyx -e latex %~n2.lyx>> perehod.bat echo if exist %~n2.tex (goto :vyhod2) else (goto :vhod2) >> perehod.bat echo :vyhod2 >> perehod.bat echo pdflatex %2 >> perehod.bat echo taskkill /f /im pdflatex.exe >> perehod.bat echo exit >> perehod.bat echo :vhod3 if exist perehod.bat (goto :vyhod3) else (goto :vhod3) :vyhod3 start perehod.bat pdflatex %1 rem exit.bat exit
? , , LyX,
lyxrc.defaults , , « , LyX » « , .tex», . , , - « » . ,
pdflatex-v-papke.bat , , ,
windows 1251 . , LyX , () , , , ,
.lyx
echo LYXCMD:sohranenie:buffer-write> \\.\pipe\lyxpipe.in
, .
if exist perehod.bat (goto :vyhod3) else (goto :vhod)
:vyhod3
:vhod
, , , . ,
pdflatex-v-papke.bat , ( )
put0.txt ,
pereim.bat ,
put.txt ,
perehod.bat , , , ,
.lyx
, , .
perehod.bat , 3 , . -
if
. ,
pdflatex-v-papke.bat , ,
pdflatex-v-papke.bat , 4 —
put0.txt ,
pereim.bat ,
put.txt ,
perehod.bat . 4 , , . . . . , LyX
pdflatex-v-papke.bat , « , LyX »,
put0.txt , . ( , ,
/
\
).
pdflatex-v-papke.bat pereim.bat , ,
put0.txt ,
/
\
put1.txt .
pdflatex-v-papke.bat pereim.bat . , , ,
/b
. ( , )
pereim.bat . - ,
put1.txt ,
pdflatex-v-papke.bat ,
put1.txt .
pdflatex-v-papke.bat . ,
pereim.bat :
:vhod1 if exist put.txt (goto :vyhod1) else (goto :vhod1) :vyhod1
put.txt , . ,
:vhod1
put.txt , , . ,
pdflatex-v-papke.bat .
perehod.bat , (
:vhod3 if exist perehod.bat (goto :vyhod3) else (goto :vhod3) :vyhod3
pdflatex-v-papke.bat )
perehod.bat .
perehod.bat , ,
put.txt ,
more < put.txt
, ,
perehod.bat (
C:\DocLyX\newfile2.lyx
):
chcp 1251 cd /D^ C:\DocLyX\ del newfile2.tex :vhod2 lyx -e latex newfile2.lyx if exist newfile2.tex (goto :vyhod2) else (goto :vhod2) :vyhod2 pdflatex newfile2.tex taskkill /f /im pdflatex.exe exit
? , , ,
perehod.bat ,
windows 1251 . 2 , .
^
. , perehod.bat
.lyx
.
/D
, LyX
>...> , LyX , , .
.lyx
,
.tex
, , ,
.lyx
.lyx
, .
.lyx
, ,
.tex
pdflatex-v-papke.bat ,
.lyx
,
.tex
. , ()
pdflatex-v-papke.bat ,
.lyx
,
.tex
.
.tex
,
.lyx
,
.lyx
,
.tex
. , . pdflatex' ,
.lyx
,
.tex
,
pdflatex , , ( )
perehod.bat .
pdflatex-v-papke.bat . ,
perehod.bat , , .
exit.bat ( - )
date /t exit
? , ,
puti.bat , , ,
puti1.bat , , , , , , LyX , :

, . , ,
puti1.bat - . . , - . . - . . : , , . . , , , , , , . ,
pdflatex-v-papke.bat . . Usw. TeXworks :

LyX ,
.lyx
.tex
,
.tex
xelatex.exe -undump=xelatex
. , -
.lyx
, . , .
> ... xelatex v papke ,
xelatex-v-papke.bat :
cd /d %0\.. chcp 1251 echo LYXCMD:sohranenie:buffer-write> \\.\pipe\lyxpipe.in if exist perehod.bat (goto :vyhod3) else (goto :vhod) :vhod echo %1 > put0.txt echo cd /d %%0\..>> pereim.bat echo SetLocal EnableExtensions EnableDelayedExpansion>> pereim.bat echo Set infile=put0.txt>> pereim.bat echo Set outFile=put.txt>> pereim.bat echo Set find=/>>pereim.bat echo Set replace=\>>pereim.bat echo for /F "UseBackQ delims=" %%%%n in ("%%infile%%") do (>> pereim.bat echo set "LINE=%%%%n">> pereim.bat echo set "LINE=!LINE:%%find%%=%%replace%%!">> pereim.bat echo echo.!LINE!^>^>%%outFile%%>> pereim.bat echo )>> pereim.bat echo exit>> pereim.bat start /b pereim.bat :vhod1 if exist put.tex (goto :vyhod1) else (goto :vhod1) :vyhod1 echo chcp 1251 > perehod.bat echo cd /D^^>>perehod.bat more < put.txt >> perehod.bat echo del %~n2.tex>> perehod.bat echo :vhod2 >> perehod.bat echo lyx -e latex %~n2.lyx>> perehod.bat echo if exist %~n2.tex (goto :vyhod2) else (goto :vhod2) >> perehod.bat echo :vyhod2 >> perehod.bat echo miktex-xetex.exe -undump=xelatex %2 >> perehod.bat echo taskkill /f /im pdflatex.exe >> perehod.bat echo exit >> perehod.bat :vhod3 if exist perehod.bat (goto :vyhod3) else (goto :vhod3) :vyhod3 start perehod.bat pdflatex %1 rem exit.bat exit
, ,
pdflatex-v-papke.bat . -
miktex-xetex.exe -undump=xelatex %2
,
.tex
, .
lyxrc.defaults ,
xelatex-v-papke.bat
$$r $$i
,
lyxrc.defaults . , ,
.lyx
, ,
.tex
utf8
\usepackage[utf8]{inputenc}
, . (, :
inputenc
>> LaTeX , )
>> (
.mo
)
(XeTeX) (utf8)
. , , / Asymptote, (pdflatex+asymptote+pdflatex pdflatex). , , Asymptote, ,
, ,
.lyx
. ,
.lyx
- Asymptote,
.pdf
, Asymptote, .
.lyx
Asymptote
TeX (Ctrl+L), - -, .lyx — - , . - ovols. - TeX, TeX ,
ovols . ovols'
\begin{asy}
, 2
\end{asy}
.
.js
. , . , , asy . , , :

- , , , pdflatex
.tex
, asy, ,
.pdf
, , . , , asymptote
>...> LaTeX .
lyxrc.defaults $$r $$i
. . , ,
.bat
.
pdflatex+asymptote+pdflatex-v-lyx.bat . , , . :
cd /d %0\.. if exist perehod.bat (goto :vyhod6) else (goto :vhod) :vhod echo %1 > put0.txt echo cd /d %%0\..> pereim.bat echo SetLocal EnableExtensions EnableDelayedExpansion>> pereim.bat echo Set infile=put0.txt>> pereim.bat echo Set outFile=put.txt>> pereim.bat echo Set find=/>>pereim.bat echo Set replace=\>>pereim.bat echo for /F "UseBackQ delims=" %%%%n in ("%%infile%%") do (>> pereim.bat echo set "LINE=%%%%n">> pereim.bat echo set "LINE=!LINE:%%find%%=%%replace%%!">> pereim.bat echo echo.!LINE!^>^>%%outFile%%>> pereim.bat echo )>> pereim.bat echo exit>> pereim.bat start /b pereim.bat :vhod1 if exist put.txt (goto :vyhod1) else (goto :vhod1) :vyhod1 echo echo LYXCMD:sohranenie:buffer-write^> \\.\pipe\lyxpipe.in >perehod.bat echo cd /D ^^>>perehod.bat more < put.txt >> perehod.bat echo :vhod1>>perehod.bat echo lyx -e latex %~n2.lyx>> perehod.bat echo if exist %~n2.tex (goto :vyhod1) else (goto :vhod1)>>perehod.bat echo :vyhod1>>perehod.bat echo echo cd /d %%%%0\..^> zamena.bat>>perehod.bat echo echo chcp 65001^>^> zamena.bat>>perehod.bat echo echo SetLocal EnableExtensions EnableDelayedExpansion^>^> zamena.bat>>perehod.bat echo echo Set infile=%~n2.tex^>^> zamena.bat>>perehod.bat echo echo Set outFile=zameneno.tex^>^> zamena.bat>>perehod.bat echo echo Set find=ovols^>^>zamena.bat>>perehod.bat echo echo Set replace=^>^>zamena.bat>>perehod.bat echo echo for /F "UseBackQ delims=" %%%%%%%%n in ("%%%%infile%%%%") do (^>^> zamena.bat>>perehod.bat echo echo set "LINE=%%%%%%%%n"^>^> zamena.bat>>perehod.bat echo echo set "LINE=!LINE:%%%%find%%%%=%%%%replace%%%%!"^>^> zamena.bat>>perehod.bat echo echo echo.!LINE!^^^>^^^>%%%%outFile%%%%^>^> zamena.bat>>perehod.bat echo echo )^>^> zamena.bat>>perehod.bat echo echo exit^>^> zamena.bat>>perehod.bat echo :vhod2>>perehod.bat echo if exist zamena.bat (goto :vyhod2) else (goto :vhod2)>>perehod.bat echo :vyhod2>>perehod.bat echo start zamena.bat>>perehod.bat echo :vhod3>>perehod.bat echo if exist zameneno.tex (goto :vyhod3) else (goto :vhod3)>>perehod.bat echo :vyhod3>>perehod.bat echo del %~n2.tex>>perehod.bat echo rename zameneno.tex %~n2.tex>>perehod.bat echo del %~n2.aux>>perehod.bat echo if exist %~n2-*.asy (goto :vhod4) else (goto :vhod5)>>perehod.bat echo :vhod4>>perehod.bat echo del %~n2-*.*>>perehod.bat echo :vhod5>>perehod.bat echo pdflatex %2 >> perehod.bat echo for %%%%f in (%~n2-*.asy) do asy %%%%f >> perehod.bat echo pdflatex %2 >> perehod.bat echo exit >> perehod.bat :vhod6 if exist perehod.bat (goto :vyhod6) else (goto :vhod6) :vyhod6 start perehod.bat
, .
zamena.bat ovols , . . -. ,
:vhod « - » If exist «- »... :vyhod « - »
, , «- » , .