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 3Artikel 4LyX; Verwendung von .js-Dateien
Das Hauptmerkmal von Dateien mit der Erweiterung
.js
, das sie im Hinblick auf ihre Anwendung im LyX-Programm interessant macht, ist die Fähigkeit, Tastenanschläge in diesen Dateien zu simulieren. Überlegen Sie sich beispielsweise, wie Sie ein Foto, das sich im selben Ordner wie diese
.lyx
Datei befindet,
.lyx
Datei
.lyx
(wenn diese Datei noch nicht gespeichert wurde, wird ihr Fenster über
Datei> Neu geöffnet.). Nun, sein Fenster wird zum ersten Mal buchstäblich geöffnet, wenn Sie dieses Mal das LyX-Programm verwenden. Das eingefügte Foto sollte sich in dem Ordner befinden, der unter
Extras> Einstellungen ...> Pfade im Textfeld
Benutzerverzeichnis angegeben ist Claudia. Die Hauptidee zur Lösung dieses Problems ist die folgende. Angenommen, in dem Ordner, den ich oben erwähnt habe, befindet sich ein Foto
photo.png . Um es an der aktuellen Cursorposition im LyX-Programmfenster einzufügen, können Sie den folgenden Befehl im Befehlspuffer ausführen:
inset-apply graphics filename photo.png
.js
wir es in der
.js
Datei also
vstavka-grafiki.js . Sie müssen simulieren, dass Sie
Alt
+
X
drücken (damit der Cursor im Befehlspuffer zu blinken beginnt) und
i
,
n
,
s
,
e
,
t
drücken.
-
,
a
,
p
,
p
,
l
,
y
,
,
g
,
r
,
a
,
p
,
h
,
i
,
c
,
s
,
,
f
,
i
,
l
,
e
,
n
,
a
,
m
,
e
,
Raum . Danach sieht das LyX-Programmfenster folgendermaßen aus:

Wenn ich anfange, etwas über die Tastatur einzugeben, wird dies nicht in das LyX-Hauptprogrammfenster, sondern in den Befehlspuffer eingegeben, und außerdem werden die Buchstaben von den Tasten eingegeben, die gedrückt werden, nicht von denen, die eingegeben werden, wenn diese Tasten gedrückt werden Russisches Layout und diejenigen, die eingegeben werden, wenn diese Tasten gedrückt werden, wenn das Tastaturlayout auf Englisch umgeschaltet wird. Toll, was du brauchst! Aber hier, wie sich später herausstellte, gibt es einen Haken: Zuerst dachte ich daran, diese
.js
Datei durch die Datei
.js
mit LyX zu
.js
und die Zeile zu schreiben
\define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.js\""
Erstellen Sie in LyX den Hotkey für den Ausdruck
call vstgr
. Alles wäre in Ordnung, aber es stellte sich heraus, dass
.js
Dateien nicht über LyX gestartet werden konnten. Daraus
.bat
sich jedoch, dass Dateien mit der Erweiterung
.bat
(banale Batch-Dateien) ausgeführt werden. Deshalb habe ich in die Datei
default.def
\define "vstgr" "vc-command U \"$$p\" \"vstavka-grafiki.bat\""
indem
Sie die Datei
vstavka-grafiki.bat wie folgt
erstellen :
start vstavka-grafiki.js
Und direkt, um den Aufruf des Befehls zu vereinfachen, den ich im LyX-Fenster erstellt habe, habe ich, wie ich beabsichtigt hatte, als ich noch nicht wusste, dass ich auch eine Batch-Datei verwenden müsste, einen Hotkey für den Ausdruck
call vstgr erstellt . Gleichzeitig müssen sich sowohl die Datei
vstavka-grafiki.bat als auch die Datei
vstavka-grafiki.js in dem zu PATH hinzugefügten Ordner befinden. Also mach weiter. Beim Erstellen des Exportformats
pdflatex-v-papke bin ich auf dieses Format
gestoßen . Wenn Sie beispielsweise Grafiken mit dem oben genannten Namen und der Erweiterung
photo.png in den Teil des LyX-Programmfensters
einfügen , der nach dem Klicken auf
Ansicht> Quelltext anzeigen (oder
Ansicht> Code anzeigen - der Name des entsprechenden Menüelements
Ansicht hängt von der verwendeten Lokalisierungsdatei ab) Der folgende Code entspricht der Position der eingefügten Grafiken im LyX-Hauptprogrammfenster:
\includegraphics{photo}
Derselbe Code wird in der entsprechenden
.tex
Datei
.tex
, die im entsprechenden temporären Verzeichnis als Ergebnis der Aktion der Batchdatei
.tex
wird, die als Engine dieses Formats in einer der allerersten Phasen dieser Batchdatei ausgewählt wurde. Infolgedessen tritt beim Ausführen eines der folgenden Befehle dieser
.tex
- der Verarbeitung der empfangenen
.tex
Datei - ein Fehler auf, und es wird nichts ausgeführt. Das Problem hierbei ist, dass in der resultierenden
.tex
Datei der Name der eingefügten Grafikdatei (das Argument des Befehls
\includegraphics
) ohne Erweiterung geschrieben wird. Was zu tun Hmm, zusätzlich zum Empfang der
.tex
Datei, deren Verarbeitung durch pdflatex keinen einzigen Fehler verursachen würde, möchte ich auch die Sichtbarkeit im LyX-Programmfenster behalten. Wenn Sie dagegen in unserem russischsprachigen Fall Grafiken in das LyX-Programmfenster einfügen, sind die Zeichen, die beim Drücken der Tastaturtasten eingefügt werden, höchstwahrscheinlich kyrillisch, während Dateierweiterungen im Allgemeinen, insbesondere Grafiken, in Englisch geschrieben sind. Auf der anderen Seite weiß der Leser, der diesen Blog an dieser Stelle gelesen hat, höchstwahrscheinlich bereits über die sehr leckere LyX-Programmfunktion Bescheid -
Verwenden Sie das Tastaturlayout und verwenden Sie es mit aller Macht und Macht. Wenn ja, dann ist die Aufgabe stark vereinfacht. Hier haben wir nämlich die Datei im LyX-Programm geöffnet, das Layout auf Englisch umgestellt und mit dem Schreiben begonnen, indem wir die gewünschten Buchstaben gedrückt haben. Als ob das Layout auf Russisch eingestellt wäre, sind die Zeichen, die in das LyX-Programmfenster eingegeben werden, kyrillische Zeichen. befindet sich auf den gedrückten Tasten. Hier ist alles in Ordnung. Also haben wir geschrieben, geschrieben, hopp, wir mussten Grafiken einfügen. Bis zu diesem Punkt wurden kyrillische Zeichen eingeführt, und jetzt mussten wir die Buchstaben Englisch eingeben (um die Erweiterung einzugeben). Also nehmen wir es einfach und gehen in den Mathe-Modus, in dem wir den Namen des eingefügten Fotos zusammen mit seiner Erweiterung schreiben. Danach starten wir den Hotkey, den wir speziell dafür erstellt haben (ich habe diese
Ctrl
+
0
+
V
+
G
( weil das Einfügen von Grafiken)) der Befehl
vstgr1 speziell in der Datei
default.def definiert.
Dieser Befehl ist wie folgt definiert:
\define "vstgr1" "vc-command U \"$$p\" \"vstavka-grafiki1.bat\""
(und der vorherige Hotkey ist der Phrase
call vstgr1 zugewiesen ). Wie Sie vielleicht erraten haben, startet dieser Befehl die Batch-
Datei vstavka-grafiki1.bat mit folgendem Inhalt:
start vstavka-grafiki1.js
Wie Sie sich
vorstellen können , wird in dieser Batch-Datei die Datei
vstavka-grafiki1.js ausgeführt , die im Wesentlichen alles
ausführt . Was macht er Beschreiben wir zunächst, welches Konstrukt in der aktuell bearbeiteten
.lyx
Datei enthalten sein soll. Wir möchten, dass dort aus einer neuen Zeile (wenn wir dort bereits etwas geschrieben haben, andernfalls brauchen wir keine neue Zeile, siehe unten) das Foto eingefügt wird, und dann aus einer neuen Zeile wieder eingefügt wird Ein TeX-Codeblock (was normalerweise im LyX-Programmfenster angezeigt wird, wenn Sie
Strg +
L drücken) und in diesem Block
\includegraphics{}
, wobei der Name des eingefügten Fotos, der Punkt und die Erweiterung des eingefügten Fotos in geschweiften Klammern stehen . Tatsächlich wird das eingefügte Foto im LyX-Programmfenster nur zur Dekoration im LyX-Programmfenster angezeigt. Die Anzeige dieses Fotos in der endgültigen
.pdf
nicht erforderlich. Das dort als Ergebnis des Befehls angezeigte Foto wird in der endgültigen
.pdf
angezeigt Um zu verhindern, dass die endgültigen
.pdf
Grafiken
.pdf
visuelle Grafiken aus dem LyX-Programmfenster verarbeitet werden, kommentieren wir diese visuelle Grafik in diesem LyX-Programmfenster und setzen ein Prozentzeichen vor diese visuelle Grafik eingebettet in den teX Code Block. Mit einem Wort wollen wir zum Beispiel die folgende Konstruktion erhalten:

Ich mache im Grunde das Gleiche wie im ersten Fall: Auf die gleiche Weise schraube ich die
Datei vstavka-grafiki1.bat über die Datei
default.def an LyX, erstelle einen neuen
vstgr1- Befehl in dieser Datei und erstelle dann einen Hot-Befehl im LyX-Programmfenster
Wenn Sie die Phrase
vstgr1 drücken , ist alles klar. Der Unterschied besteht nur in der Datei
vstavka-grafiki1.js , die von der Datei
vstavka-grafiki1.bat gestartet wird. Bevor ich
den Inhalt der Datei
vstavka-grafiki1.js aufführe , werde ich
den Inhalt der beiden in dieser Datei verwendeten
Hilfsdateien auflisten . Dazu müssten wir das Drücken des Prozentzeichens in der Datei
vstavka-grafiki1.js simulieren. Und da wir das kasachische Tastaturlayout verwenden (ich verwende das kasachische Tastaturlayout, daher schreibe ich basierend auf der Tatsache, dass mein Leser es auch verwendet) und weil bei diesem Tastaturlayout das eingegebene Zeichen zum Beispiel Wenn Sie im Notizbuch die Taste drücken, auf der sich dieses Prozentzeichen befindet, ist dies der Buchstabe des kasachischen Alphabets. In dem Befehl, der das Prozentzeichen der Datei
vstavka-grafiki1.js simuliert , müssen Sie diesen kasachischen Buchstaben schreiben, wie ich geschrieben habe Ein anderer Beitrag in diesem Blogbeitrag verursacht einen Fehler. Daher verwendet die Datei
vstavka-grafiki1.js die Stapeldatei procent.bat mit folgendem Inhalt:
echo LYXCMD:vvod:command-sequence:self-insert %%> \\.\pipe\lyxpipe.in
Wenn Sie sich an die Geschichte von \\. \ Pipe \ lyxpipe.in erinnern, ist es leicht zu verstehen, dass diese Batch-Datei tatsächlich ein Prozentzeichen an der aktuellen Cursorposition im LyX-Programm einfügt (verwenden Sie dazu natürlich
Extras> Einstellungen ...> Pfade im Text Das Feld für den
LyX- \\.\pipe\lyxpipe
sollte
\\.\pipe\lyxpipe
. Wenn Sie versuchen, die auf LyX
angewendete Datei
procent.bat außerhalb der Datei
vstavka-grafiki1.js zu verwenden
, müssen
Sie die richtige Reihenfolge für den Start des Eingabeaufforderungsfensters
einhalten, von dem aus die
vstavka- Datei aufgerufen wird
grafiki1.js und Windows des LyX-Programms, in denen das gleiche Prozentzeichen vollständig vorkommt Für Details verweise ich den Leser auf die oben erwähnte Erzählung. Wenn Sie jedoch
procent.bat von
vstavka-grafiki1.js aufrufen, läuft alles so, wie es sollte. Eine weitere in der Datei
vstavka-grafiki1.js verwendete
Hilfsdatei ist die Datei
Ostanovka.js mit folgendem Inhalt:
WshShell=WScript.CreateObject("WScript.Shell") WshShell.Popup(" , \"\", \"\"", 0, " ",1);
Aber was ist mit dem Wunderjudo? Tatsache ist, dass ich beim
Erstellen der Datei
vstavka-grafiki1.js , die während des Betriebs
ohne Unterbrechung ausgeführt wird , anscheinend auch andere Dateien mit Befehlen gestartet habe, die im selben LyX-Programmfenster ausgeführt werden sollten
Wenn in der Datei vstavka-grafiki1.js selbst Befehle ausgeführt werden und an verschiedenen Stellen Fehler aufgetreten sind, haben diese Befehle in der Datei
vstavka-grafiki1.js nicht alle
erforderlichen Aktionen ausgeführt . Um das zu beheben, habe ich mir das ausgedacht. Experimentell identifizierte solche Stellen in der Datei
vstavka-grafiki1.js . Die Befehle in dieser Datei, die Fehler verursachen. Und vor diesen Stellen wollte ich die
Datei vstavka-grafiki1.js anhalten, bis ich eine Taste
drücke . Welche - wusste es noch nicht. Ich habe nachgedacht, nachgedacht und daran gedacht, dass ein Team kein Team ist. Im Allgemeinen spielt es keine Rolle,
WshShell.Run(
es gibt ein derartiges Argument, dass, wenn sein Wert als
true angegeben wird, bei der Ausführung dieses Befehls die Hauptarbeit, von der aus dieser Befehl ausgeführt wird, Die Datei wird genau so lange angehalten, bis die mit diesem Befehl geöffnete Datei geschlossen wird. Nun, etwas bereits ... Andererseits erinnerte ich mich, dass es in jscript einen Befehl gibt, der ein Dialogfeld mit wirklich funktionierenden Schaltflächen öffnet ich beschloss , vor dem Problembereich Datei
vstavka-grafiki1.js Befehl zap einfügen ska
Ostanovka.js Datei mit den Erwartungen des Endes des Betriebes der Datei als
Ostanovka.js wird ein Dialogfeld mit zwei Schaltflächen erstellen -.
Ok und
Abbrechen zur gleichen Zeit nach vyplyvaniya diesem Fenster des Fokus auf der
OK - Taste sein, so das Fenster schließen In einem Fenster genügt es, die
Eingabetaste zu drücken. Also habe ich die Datei
Ostanovka.js mit den oben genannten Inhalten erstellt. Ich wollte auch die Schaltfläche
Abbrechen auflegen und alle Aktionen abbrechen, die von der
Datei vstavka-grafiki1.js nach der letzten Ausführung der Datei
Ostanovka.js ausgeführt wurden Ich weiß nicht, wie es geht.
Nun , das ist es, nachdem die vorläufigen Bemerkungen gemacht wurden, der Leser kann den Prozess der
Datei vstavka-grafiki1.js verstehen . Ich werde in den Kommentaren zu jeder Zeile schreiben, was sie leistet. Vergessen Sie nicht, dass sich
der Cursor im LyX-Programmfenster vor dem Starten der
Datei vstavka-grafiki1.js im mathematischen Modus befindet, nach dem Namen der einzufügenden Grafikdatei, dem Punkt, der den Namen von der Erweiterung und der Erweiterung selbst trennt. Ich habe es nämlich so gemacht:
WshShell=WScript.CreateObject("WScript.Shell") WshShell.SendKeys("%"); WshShell.SendKeys("+{HOME}"); // . // , WshShell.SendKeys("^"); // , WshShell.SendKeys("{LEFT}"); // . , // WshShell.SendKeys("{END}"); // //. , WshShell.SendKeys("{ENTER}"); // . , // WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.SendKeys("^"); // TeX WshShell.SendKeys("^"); // TeX WshShell.Run("Ostanovka.js",1,true); // WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.Run("procent.bat"); // TeX WshShell.Run("Ostanovka.js",1,true); // //vstavka-grafiki1.js WshShell.SendKeys("{RIGHT}"); // // TeX WshShell.SendKeys("%"); // WshShell.SendKeys("- "); // // //inset-apply graphics filename filename WshShell.SendKeys("^"); // // , // WshShell.SendKeys("{ENTER}"); // ENTER, // // LyX //WshShell.SendKeys("{UP}"); // LyX // , , // . , , // . WshShell.SendKeys("{LEFT}"); // . , // WshShell.SendKeys("+{HOME}"); // , // , WshShell.SendKeys("^"); // , WshShell.SendKeys("^"); // , WshShell.SendKeys("{LEFT}"); // WshShell.SendKeys("{DELETE}"); // // , // , WshShell.SendKeys("{DELETE}"); // // WshShell.SendKeys("{END}"); // // , //. , // , // LyX WshShell.SendKeys("{ENTER}"); // WshShell.SendKeys("^"); // // WshShell.SendKeys("\"); // , //, \includegraphics WshShell.SendKeys("+"); // // WshShell.SendKeys("^"); // // , // WshShell.SendKeys("+"); // // WshShell.SendKeys("{RIGHT}"); //
Ich werde ein paar Worte zum obigen Code sagen. Erstens werden Kommentare in jscript durch das Zeichen
//
gekennzeichnet, und alles, was in der Zeile erscheint, nachdem dieses Zeichen vom Ausführenden dieses Codes ignoriert wurde, soll der Person die von dieser Zeile ausgeführten Aktionen erklären. Und wenn sich vor
//
nichts in der Zeile befindet, setzt diese Zeile den Kommentar fort, der irgendwo oben begonnen wurde. Zweitens habe ich das erste Mal den Namen des eingefügten Fotos mitsamt seiner Erweiterung, die durch einen Punkt vom Namen getrennt ist, kopiert und das zweite Mal dieses Design ausgeschnitten, anstatt es nur einmal auszuschneiden. Warum? Ja, denn als ich das versuchte, bevor ich dieses Design ein zweites Mal aus der Zwischenablage in die aktuelle Position einfügte, wurde es auf mysteriöse Weise leer und mir fiel nichts ein. Ich kann nicht erklären, warum dies passiert, aber ich habe einen Ausweg aus dem aufgetretenen Problem gefunden. Ich möchte noch einmal daran erinnern, dass Sie während der
vstavka-grafiki1.js
wenn ein Dialogfeld mit der Überschrift "Prozesssteuerung"
angezeigt wird, die
Eingabetaste drücken müssen (oder mit der linken Maustaste auf eine beliebige Schaltfläche im Popup-Dialogfeld klicken müssen), um die
Ausführung der Datei "vstavka-grafiki1.js" fortzusetzen was mir weniger bequem erscheint).
LyX: Großer Buchstabe e
Wenn Sie jetzt im LyX-Programm, das in der Form verwendet wird, in der es erstellt wurde,
die Tastenkombination Umschalt +
E drücken (dies ist der Fall, wenn die Funktion
Tastaturlayout verwenden aktiviert ist und
das Tastaturlayout auf Englisch umgeschaltet wird), anstelle des erwarteten Großbuchstabens. “ Äh, “erscheint ein umgekehrtes Anführungszeichen im LyX-Programmfenster. Die Lösung für dieses Problem besteht darin, den
Tastenkürzel "Umschalt +" der Phrasenbefehlssequenz
" E " zuzuweisen
.LyX: Hinzufügen / Entfernen von Nachrichten zu einer Nachrichtengruppe unter Nachrichten anzeigen
Wenn Sie hier über
Ansicht> Meseages anzeigen (oder über
Ansicht> Nachrichten anzeigen - dies hängt von der verwendeten Lokalisierungsdatei
LyX2.0.mo ab ) den Bereich
Status- / Debug-Nachrichten am unteren Rand des LyX-Programmfensters öffnen, werden in diesem Teil des Fensters zu viele Nachrichten angezeigt. es kommt vor, dass Sie einfach die Maus bewegen und eine kilometerlange Folge von Zeilen angezeigt wird, in denen Sie nach etwas suchen können, das Sie benötigen (zum Beispiel, um einen Hinweis darauf zu erhalten, wie Sie diesen oder jenen Befehl über den Befehlspuffer eingeben, da es sich natürlich nicht um eine wörtliche Form handelt, sondern um einen Hinweis es kann geben, ich, Vielleicht erzähle ich Ihnen bald ein wenig darüber, was ich in diesem Zusammenhang herausgefunden habe. Es kann äußerst schwierig sein. Um Nachrichten zu reduzieren (oder umgekehrt zu einer Gruppe von Nachrichten hinzuzufügen), tun wir dies. Klicken Sie in diesem unteren Bereich des Fensters mit der linken Maustaste auf "
Einstellungen" . Dort setzen wir den Schalter "
Debug-Meldungen" auf "
Hervorgehoben" :

Und dann rechts doppelklicken wir (in der Geschwindigkeit, mit der es beim Öffnen einer Datei geschieht, kann diese Geschwindigkeit bei Bedarf in den Einstellungen des Computers selbst außerhalb des LyX-Programms geändert werden) auf die Gruppe von Nachrichten, von der wir Nachrichten erhalten möchten Stellen Sie sicher, dass es nicht im Bereich
Status- / Debug-Meldungen angezeigt wird, oder umgekehrt, dass die Meldungen dieser Meldungsgruppe in diesem Bereich angezeigt werden sollen. , ,
,
, :
,
LyX . ,
, , .
LyX: -
> ... . ,
Preview
… , , ,
.tex
- , , pstricks. , , pstricks,
.tex
, , LyX, - « LaTeX», , TeXworks, ..
\begin{pspicture}
,
\end{pspicture}
, ,
\begin{pspicture}
-
\psset{xunit=1.0cm,yunit=1.0cm,algebraic=true,dimen=middle,dotstyle=o,dotsize=3pt
… , , pstricks, , . ,
.tex
, . LyX. -
>...> LaTeX , ,
.tex
, - « LaTeX», LyX
> (
>Preview .mo
). . .
> ,
.... . :
.tex
,
.
, ,
. ,
OK :

,
OK : , , ,
.tex
. —
—
.lyx
.tex
, , . , ,
OK
Preview ,
.tex
, LyX. , ???
LyX: ,
, , - , :

, . ,
>...> , ,
(.) , ,
(.) , , , , , . ( , ) :

LyX: Local layout,
, LyX. , , , , , , , , , , , ,
, LyX , , , . , . ? .
>> (
.mo
Local layout ), :
Provides amsmath 0 PageStyle plain Style Standard Font Color blue EndFont End Style Enumerate Font Color red EndFont End Style Theorem Font Color green Shape ital EndFont End
, , ,
! , ,
OK (,
). LyX :
