Benutzer-Werkzeuge

Webseiten-Werkzeuge


tustep:loesungen:editormakros

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

tustep:loesungen:editormakros [2018/07/25 12:47]
Daniel Zang
tustep:loesungen:editormakros [2021/03/16 05:34]
Zeile 1: Zeile 1:
-**Vorbemerkung:** Ein Editormakro ist eine Folge von Steuerbefehlen und/oder Zeichenfolgen, die per **Tastenkombination** oder **Mausaktion** in der Art eines **Shortcuts** aufgerufen und ausgeführt werden kann. Editormakros können im **Editor** direkt definiert werden oder in eine **Datei** geschrieben und dann (mit ''#TUE'') **aktiviert** werden. 
----- 
-[[tustep:loesungen:start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]] 
----- 
-====== Definition von Editormakros ====== 
-- {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin\\ \\ Die **Anweisung** für die Definition eines Editormakros lautet allgemein:\\  
-<code>y,name=makroanweisung 
  
-y,name=makroanweisung1,makroanweisung2,makroanweisung3,... 
- 
-y,name=n*makroanweisung</code> 
-→ Eine **Makroanweisung** ist entweder ein **Steuerbefehl** (z.B. ''SPLIT'') oder eine **Zeichenfolge** (z.B. ''text'').\\  → Eine **Zeichenfolge** muss in frei wählbare **Trennzeichen** eingeschlossen werden (z.B. **|**text**|** oder **:**text**:** ).\\  → **Mehrere** Makroanweisungen werden durch **Komma** getrennt.\\  → Soll eine Makroanweisung **mehrmals ausgeführt** werden, kann dies durch ''Zahl*makroanweisung'' erreicht werden (z.B. ''3*CUR_RI'' setzt den Cursor drei Positionen nach rechts).\\ \\ **Beispiele für einfache Editormakros** (mit ''name'' = einzelner Buchstabe a-z, inkl. äöü)\\  
-<code>Definition                            Aufruf  Effekt 
- 
-y,t=|text|                            ALT+t   schreibt text 
-y,t=|<tag>                          ALT+t   schreibt <tag> 
-y,r=|<reg></reg>|,6*CUR_LE            ALT+r   schreibt <reg></reg> und positioniert Cursor 
-y,r=|<reg>|,FND_BLANK,|</reg>       ALT+r   schliesst Zeichenfolge in Tags ein 
-y,r=FND_BEG,|<reg>|,FND_END,|</reg> ALT+r   schliesst Wort in Tags ein 
-y,z=CMD_LINE,:zn,,,||:,CUR_LE         ALT+z   schreibt Anweisung in Kommandozeile</code> 
-→ Der **Aufruf** des Makros erfolgt durch Drücken von ''ALT+Buchstabe''.\\  → Das Makro wird an der aktuellen Cursor-Position ausgeführt.\\ \\ **Beispiele für andere Makronamen** (Aufruf ebf. über Tastenkombination)\\  
-<code>name          Aufruf 
- 
-SA_x          SHIFT+ALT+x      [x steht für Einzelbuchstabe a-z] 
-CA_x          CTRL+ALT+x       [dto.] 
-SC_x          SHIFT+CTRL+x     [dto.] 
- 
-M_n           ALT+n            [n steht für Ziffer 0-9] 
-SA_n          SHIFT+ALT+n      [dto.] 
-CA_n          CTRL+ALT+n       [dto.] 
-SC_n          SHIFT+CTRL+n     [dto.]</code> 
-→ Zu **weiteren Makronamen** und ihren zugehörigen Tastenkombinationen siehe Handbuch/Editor.\\ \\ **Makroaufrufe durch Mausaktionen**\\ Editormakros können nicht nur über **Tastenkombinationen**, sondern auch durch **Aktionen mit der Maus** oder eine **Kombination aus beiden** aufgerufen werden.\\ Dadurch stehen viele weitere Möglichkeiten zur Verfügung, ein Editormakro auszulösen. Hier seien nur wenige genannt; weitere siehe im Handbuch/Editor.\\ **Hinweis:** Einige dieser Makros werden bei Beginn einer TUSTEP-Sitzung automatisch definiert (siehe Handbuch) und bewirken das Erscheinen der Copy-Delete-Move-Leiste.\\  
-<code>               Linke     Mittlere  Rechte 
-               Maustaste Maustaste Maustaste 
- 
-Click          M_LC      M_MC      M_RC 
-Press          M_LP      M_MP      M_RP 
-Release        M_LR      M_MR      M_RR 
- 
-Shift+Click    S_LC      S_MC      S_RC 
-Shift+Press    S_LP      S_MP      S_RP 
-Shift+Release  S_LR      S_MR      S_RR</code> 
-**Lesebeispiele für Makronamen:**\\ ''M_LC'' bedeutet: linke Maustaste drücken (''Click'')\\ ''M_MP'' bedeutet: mittlere Maustaste drücken und bewegen (''Press'')\\ ''M_RR'' bedeutet: rechte Maustaste nach ''Press'' loslassen (''Release'')\\ ''S_LC'' bedeutet: Shift-Taste und gleichzeitig linke Maustaste drücken\\ \\ **Beispiel für die Verwendung von Mausaktionen:**\\  
-<code>y,S_LP=MRK_INI 
-y,S_LR=MRK_REP,|<reg>|,MRK_INS,|</reg>|</code> 
-**Effekt:** Ein (bei gedrückter Shift-Taste) mit der Maus markierter Begriff wird **gemerkt** und mit Registertags versehen **nachgestellt**. Aus "Zürich liegt an der Limmat" wird durch das Markieren der Begriffe "Zürich" und "Limmat": "Zürich**<reg>Zürich</reg>** liegt an der Limmat**<reg>Limmat</reg>**".\\ **Verwendete Steuerbefehle:**\\  
-<code>MRK_INI      definiert die Anfangsposition der Markierung 
-MRK_REP      kopiert den markierten Text in den Zwischenspeicher 
-MRK_INS      fügt den markierten Text ein</code> 
-\\  
-====== Definition von Punkt-Makros ====== 
-- {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin\\ \\ Editormakros, deren Name mit einem **Abkürzungspunkt** endet (''name.''), dienen in der Regel zur **Auflösung von Abkürzungen** oder zum **Einfügen kurzer Textteile** an der Cursor-Position.\\ Die **Anweisung** für die Definition eines Punkt-Makros lautet allgemein:\\  
-  y,name.=makroanweisung 
-**Beispiele für Punkt-Makros**\\  
-<code>Definition                                                           Aufruf  Effekt 
- 
-y,ub.=|Universitätsbibliothek|                                       ALT+p   ersetzt "UB" im Text durch "Universitätsbibliothek" 
-y,ZfdA.=|Zeitschrift für deutsches Altertum und deutsche Literatur|  ALT+p   ersetzt "ZdfA" im Text durch "Zeitschrift für ..." 
-y,PhF.=|Philosophische Fakultät|                                     ALT+p   ersetzt "PhF" im Text durch "Philosophische Fakultät"</code> 
-→ Der Cursor muss **in** oder **nach** dem zu ersetzenden Wort stehen.\\  → Der **Aufruf** zur Auflösung einer Abkürzung lautet immer ''ALT+p''.\\ \\  Mit dem Aufruf\\  
-  ALT+y 
-erhält man eine **Liste aller definierten Punkt-Makros** und kann durch Auswahl eines Makros dieses ausführen, d.h. **der ausgewählte (Lang-)Text** wird an der Cusor-Position in den Text **eingesetzt**.\\ \\  
-====== Abfragen und Löschen von Editormakros ====== 
-- {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin\\ \\ Definierte Editormakros können mit folgender Anweisung **aufgelistet** werden:\\  
-  y 
-Definierte Editormakros können mit folgender Anweisung wieder **gelöscht** werden:\\  
-  y,name= 
-\\  
-====== Definition von Makroleisten ====== 
-- {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin\\ \\ Anstelle von Tastenkombinationen und/oder Mausaktionen können Editormakros **auch über eine Makroleiste aufgerufen** werden. Eine Makroleiste ist eine Zeile im Editorfenster mit **Buttons/Feldern**; wird ein Button/Feld mit der Maus angeklickt, wird das Makro aufgerufen.\\  Es gibt **permanente**, **temporäre** und **imaginäre** Makroleisten.\\ \\  
-==== 1. Permanente Makroleisten ==== 
-\\  Die **Anweisung** für die Definition einer permanenten Makroleiste lautet allgemein:\\  
-  y,name*=fld1,fld2,fld3,... 
-→ Der Name der Makroleiste darf maximal 11 Zeichen lang sein.\\ \\ **Beispiel für eine einfache permanente Makroleiste**\\  
-<code>y,ml*=Farb_ein,Farb_aus,Text_ins 
-y,mlFarb_ein=CMD_LINE,"c1",ENTER,"zu*",ENTER 
-y,mlFarb_aus=CMD_LINE,"c0",ENTER,"zu*",ENTER 
-y,mlText_ins=|Dieser Text wird eingesetzt.|</code> 
-**Erklärung:** Mit der ersten Anweisung wird eine **permanente Makroleiste** mit dem Namen ''ml'' und den Feldern/Buttons ''Farb_ein, Farb_aus, Text_ins'' definiert. Mit den folgenden Anweisungen werden die zu den Buttons gehörenden **Editormakros** definiert: ''Farb_ein'' aktiviert die Farbgruppe ''c1''; ''Farb_aus'' schaltet die Farben wieder aus; mit ''Text_ins'' wird an der Cursor-Position ein bestimmter Text eingesetzt.\\  Der Makroname setzt sich zusammen aus dem **Namen der Makroleiste + dem Button-Namen**.\\ \\  
-==== 2. Temporäre Makroleisten ==== 
-Die **Anweisung** für die Definition einer temporären Makroleiste mit der Meldung ''text'' und den Feldern/Buttons ''fld1, fld2, fld3 ...'' lautet allgemein:\\  
-  y,?name=text,fld1,fld2,fld3,... 
-→ Der Name der Makroleiste darf maximal 11 Zeichen lang sein.\\ \\ **Beispiel für eine einfache temporäre Makroleiste**\\  
-<code>y,?tags="Bitte Tags auswählen",caps:"<c>",ital:"<i>",bold:"<b>" 
-y,c_caps="<c></c>" 
-y,c_ital="<i></i>" 
-y,c_bold="<b></b>"</code> 
-**Erklärung:** Mit der ersten Anweisung wird eine **temporäre Makroleiste** mit dem Namen ''tags'', dem Meldungstext ''Bitte Tags auswählen'' und den drei Feldern/Buttons ''<c>, <i>, <b>'' definiert. Mit den folgenden Anweisungen werden die zu den Buttons gehörenden **Editormakros** definiert: Bei Anklicken eines Buttons wird das entsprechende (Anfangs- und End-)Tag an der Cursorposition eingesetzt.\\  Der Makroname setzt sich zusammen aus einer **Namensergänzung** (hier: ''c_'', siehe ''erg'' bei Aufruf) **+ dem Button-Namen**.\\ \\ **Aufruf einer temporären Makroleiste**\\ \\  Temporäre Makroleisten können innerhalb eines Editormakros mit folgendem Steuerbefehl aufgerufen werden\\  
-  SWITCH:erg?name 
-Für die obige Beispielleiste etwa durch das einfache Editormakro\\  
-<code>y,t=SWITCH:c_?tags 
-Aufruf: 
-ALT+t</code> 
-Der **Meldungstext** wird in der Anweisungszeile, die **Makroleiste** in der Statuszeile angezeigt. Diese Anzeige bleibt nur **bis zur nächsten Maus- oder Tastatureingabe lesbar**.\\ \\  Ein **ausführliches Beispiel für eine temporäre Makroleiste** siehe unter Anwendungsbeispiele/[[editormakros#Tagging markierter textstellen|Tagging markierter Textstellen]].\\ \\ \\  
-===== Anwendungsbeispiele: ===== 
-\\  
-====== Eingabe von Tags in eine Adressdatenbank ====== 
-- {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin\\ \\  Definition eines Editormakros zur erleichterten Eingabe von Rubrikentags in eine [[tustep:loesungen:sortieren#adressdatenbank|Adressdatenbank]].\\  Das Editormakro kann in eine Datei geschrieben und dann mit ''#EDIERE,DEFINITIONEN=datei'' **aktiviert** werden.\\  
-<code>y,t= 
- "<v></v>",split, 
- "<n></n>",split, 
- "<p></p>",split, 
- "<o></o>",split, 
- "<s></s>",split</code> 
-**Aufruf** des Editormakros nach seiner Aktivierung durch Drücken von **ALT+t**\\ **Effekt:** Die Tags werden (an der Cursor-Position!) in die Datei geschrieben.\\ \\  Erweiterung dieses Makros:\\  
-<code>y,t=confirm,"ze",enter,cur_up,split, 
- "<v></v>",split, 
- "<n></n>",split, 
- "<p></p>",split, 
- "<o></o>",split, 
- "<s></s>",split,5*cur_up,3*cur_ri</code> 
-**Aufruf** des Editormakros nach seiner Aktivierung durch Drücken von **ALT+t**\\ **Effekt:** Änderungen in der Datei werden ggf. gespeichert (''CONFIRM''); das Ende der Datei wird gezeigt ("ze", ''ENTER''); eine Leerzeile wird eingetragen (''CUR_UP'', ''SPLI''); die Tags werden in die Datei geschrieben; der Cursor wird zum direkten Eintragen nach <v> positioniert.\\ \\  
-====== Umbrechen einer Textzeile (word wrap) ====== 
-- {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru\\ \\ Aus Gründen der Übersichtlichkeit kann es sinnvoll sein, einen bereits in TUSTEP eingegebenen oder importierten Text nachträglich zu umbrechen. Dies entspricht der aus anderen Editoren wie Notepad++ oder sublime text bekannten Option word wrap.\\  Hier ein Beispiel für eine TUSTEP-Adaption:\\  
-  Y,CA_f=BEG_REC,80*CUR_RI,SKP_WORD,SPLIT 
-**Aufruf:** ''CTRL+ALT+f''.\\ **Effekt:** Cursor springt an den Anfang des aktuellen Datensatzes (''BEG_REC''), von dort 80 Schritte nach rechts (''80*CUR_RI'') und zum nächsten Wortzwischenraum (''SKP_WORD''), wo die Zeile umbrochen wird (''SPLIT'').\\  Diese Tastenkombination muss dann für jede zu umbrechende Zeile einmal ausgeführt werden, was nur bei punktueller Anwendung und einem kurzen Text gangbar erscheint. Sollen längere Texte insgesamt neu umbrochen werden, kann ein [[tustep:loesungen:editormakros:umbrechen|kleines Skript]] benutzt werden.\\ \\  
-====== Tagging markierter Textstellen ====== 
-- {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru | - {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin\\ \\ Mit den folgenden **Makrodefinitionen** können **markierte Textstellen getaggt**, das heißt über eine **temporäre Makroleiste** in die ausgewählten Anfangs- und Endetags eingeschlossen werden.\\  
-<code>y,M_RP=SET_INS,SAVE_CUR,MRK_INI 
-y,M_RR=MRK_REP,SWITCH:c_?tags 
- 
-y,?tags="Bitte Tags auswählen", 
-  caps:"<c>", 
-  ital:"<i>", 
-  spac:"<s>", 
-  bold:"<b>", 
-  under:"<ul>", 
-  Abbrechen 
-y,c_caps="</c>",EXCH_CUR,"<c>" 
-y,c_ital="</i>",EXCH_CUR,"<i>" 
-y,c_bold="</b>",EXCH_CUR,"<b>" 
-y,c_spac="</s>",EXCH_CUR,"<s>" 
-y,c_under="</ul>",EXCH_CUR,"<ul>" 
-y,c_abbrechen=MRK_IGN</code> 
-**Effekt:** Ein Wort oder Textbereich wird mit der **rechten** Maustaste markiert. Die Anfangsposition des Cursors wird gemerkt (''SAVE_CUR''), beim Loslassen der (rechten) Maustaste wird der markierte Bereich gespeichert und der alte Speicherinhalt überschrieben (''MRK_REP''), die temporäre Makroleiste mit den Tags wird aufgerufen (''SWITCH:c_?tags''). Beim Anklicken eines Buttons/Tags wird zuerst das Endetag an der Cursorposition eingesetzt, dann an der zuvor gemerkten Cursorposition (''EXCH_CUR'') das Anfangstag.\\ \\  
-====== Wort per Doppelklick markieren und speichern ====== 
-- {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru | - {{files_open:benutzericons:schneider-lastin-lg.jpg?nolink&16x16|schneider-lastin}} schneider-lastin\\ \\ In Textverarbeitungsprogrammen wie LibreOffice, Notepad++ oder dem Editor unter Windows ist es möglich, **ein Wort** (ohne ggf. angrenzende Interpunktionszeichen!) **mittels Doppelklick zu markieren**. Diese Funktionalität - ergänzt durch ein **Speichern des Wortes** sowohl in der Editor- wie der WINDOWS-Zwischenablage - kann für den TUSTEP-Editor durch folgende Anweisung erreicht werden:\\  
-  Y,M_LD=FND_BEG,MRK_INI,FND_END,MRK_REP,DEFINE_CB 
-**Erklärung:** Die Mausaktion "linke Maustaste Doppelklick" (''M_LD'') wird belegt. Bei deren Ausführung (durch Doppelklick in ein Wort) wird der Anfang des Wortes gesucht (''FND_BEG''), daraufhin eine Markierung begonnen (''MRK_INI''), die bis zum Ende des Wortes (''FND_END'') ausgeführt wird. Der markierte Text wird in die Editor-Zwischenablage gesteckt (''MRK_REP'') und zusätzlich in die WINDOWS-Zwischenablage gespeichert (''DEFINE_CB''). Das markierte Wort kann nun per rechtem Mausklick oder ''CTRL+V'' bzw. ''STRG+V'' an anderer Stelle eingefügt werden.\\ \\  Soll das markierte Wort zusätzlich **farblich hervorgehoben** werden, ist die Anweisung wie folgt zu erweitern:\\  
-  Y,M_LD=FND_BEG,MRK_INI,FND_END,MRK_REP,CUR_LE,FND_BEG,MRK_INI,FND_END,MRK_MRK,DEFINE_CB 
-\\  Wenn nicht nur das Wort, sondern angrenzende **Interpunktionszeichen, Klammern oder Tags mit markiert** und gespeichert werden sollen, lautete die oben als erste gegebene Anweisung wie folgt:\\  
-  Y,M_LD=SKP_LE,MRK_INI,FND_BLANK,MRK_REP,DEFINE_CB 
-\\  
-====== Editormakros-Konfigurationsbeispiel (Makro-/Mausleisten) ====== 
-- {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru\\ \\  Ein **einfaches Beispiel** für eine Makroleiste inkl. einer temporären Mausleiste ist hier herunterzuladen:\\ \\ {{files_open:daten:meinfach.tf|meinfach.tf}} [24KB]\\  
-\\ \\ Die Datei kann direkt in ein Projektverzeichnis abgelegt, angemeldet und mit folgendem Kommando definiert werden:\\  
-  #E,DE=meinfach.tf 
-Anschließend sind im Editor **drei Schaltflächen** zu sehen: "Text", "Mausleiste" und "Hilfen".\\  Über **"Text"** können exemplarische Textbausteine an die Stelle des Cursors eingefügt werden, **"Mausleiste"** gibt eine kurze Information über die Benutzung der temporären Mauleiste aus und über **"Hilfen"** lassen sich die TUSTEP-Beschreibungen sowie weitere Hilfsmöglichkeiten ansteuern.\\ \\  Die **temporäre Mausleiste** kann aufgerufen werden, indem ein Textabschnitt mit der gedrückten rechten (!) Maustaste markiert wird. Anschließend stehen einige Möglichkeiten zum Tagging des markierten Textes zur Verfügung.\\ \\  Die gezeigten Funktionen sind lediglich **für Demonstrationszwecke konzipiert** und im Gegensatz zur unten genannten Datei MAKLEIST nicht auf die praktische Nutzung ausgelegt. Allerdings kann die Datei von jedem Nutzer **entsprechend den individuellen Bedürfnissen abgeändert** werden.\\  Der aktuelle Inhalt der Einstellungen kann im Editor betrachtet werden:\\  
-  #E,meinfach.tf 
-Hierbei ist auf die Nummerierung der Datensätze zu achten, welche die Datei als **Segment-Datei** ausweist. Segment-Dateien sollten **nicht** direkt im Editor bearbeitet werden, um keine fehlerhafte Datensatznummerierung zu erhalten. Stattdessen ist die Datei nach folgender Beschreibung zu bearbeiten: [[tustep:tutorial3:grundlagen_segmentdatei|Grundlagen - Segmentdatei]]\\ \\  Um den Editor wieder auf die Grundeinstellungen zurückzusetzen, kann folgendes Kommando genutzt werden:\\  
-  #E,DE=-STD- 
-\\  Ein etwas **umfangreicheres Beispiel** für angewandte Editormakros kann gefunden werden unter: [[praesentation:start|Link]].\\  Die hier hinterlegte Beispieldatei **MAKLEIST**n_n dient in erster Linie der verbesserten Bedienbarkeit des TUSTEP-Editors für Nutzer mit eingeschränkter Motorik, allerdings kann dieselbe Funktionalität von jedem Benutzer eingesetzt und individuell angepasst werden. Die Einstellung und Beschreibung entspricht der o.g.\\ \\  
-====== Nutzung von Editormakros zur Apparaterstellung ====== 
-- [H. Hein | H. Hein] | - {{files_open:benutzericons:ms.tru-lg.jpg?nolink&16x16|ms.tru}} ms.tru\\ \\  Viele Editionen zeichnen sich dadurch aus, dass sie unter dem Text mehrere Apparate haben, um unterschiedliche Phänomene zu dokumentieren:\\  Entstehungsvarianten, Abweichungen in anderen Textzeugen, Testimonien und Quellen.\\  Oft sehen die Apparateinträge in den Daten so aus:\\  
-<code><a1>Erster Apparat</a1> 
-<a2>Zweiter Apparat</a2></code> 
-usw.\\ \\  Hier bietet sich ein einfaches Tastaturmakro an, welches die Apparate-Tags in eine eigene Zeile schreibt und den Cursor zwischen Anfangs- und Endetag positioniert. Außerdem wird der Apparateintrag etwas eingerückt:\\  
-  Y,M_1=split,split,cur_up,' <a1></a1>',5*cur_le 
-Das Tastaturmakro wird aufgerufen mit **ALT+1**. Es generiert einen Eintrag für den ersten Apparat. Analog könnte man die weiteren Ziffern mit den entsprechenden Apparaten kombinieren:\\  
-  Y,M_2=split,split,cur_up,'  <a2></a2>',5*cur_le 
-\\  Man könnte das Makro noch verbessern, indem man das Wort, welches als Lemma in den Apparat kommen soll, mit der Maus markiert und automatisch eintragen lässt und mittels einer temporären Mausleiste abfragt, in welchen Apparat das Wort eingetragen werden soll:\\  
-<code>= Drücken der **rechten** Maustaste --> Beginn Markierung (s.u.) und farbliche Hervorhebung des markierten Textes. 
-Y,M_RP=SET_INS,SAVE_CUR,MRK_INI,MRK_CHG:0C 
- 
-= Loslassen der **rechten** Maustaste --> "Tag1"-Mausleiste anzeigen 
-Y,M_RR=MRK_REP,SWITCH:c_?tag1 
- 
-=     Abfragen, was mit dem markierten Bereich geschehen soll: 
-Y,?TAG1="Markierten Bereich mit Tags für Apparat- oder Registereintrag versehen?", 
- app1:"<a1>":0A, 
- app2:"<a2>":07, 
- app3:"<a3>":08, 
- nix:"Mark. aufh.":0A 
- 
-=     Im Folgenden wird definiert, was zu geschehen hat, wenn 
-=     eines der Felder der temporären Mausleiste angeklickt wird: 
-Y,C_APP1=SPLIT,SPLIT,CUR_UP,"<a1>",MRK_INS,"] </a1>",5*CUR_LE 
-Y,C_APP2=SPLIT,SPLIT,CUR_UP,"<a2>",MRK_INS,"] </a2>",5*CUR_LE 
-Y,C_APP3=SPLIT,SPLIT,CUR_UP,"<a3>",MRK_INS,"] </a3>",5*CUR_LE 
-Y,C_NIX=MRK_IGN</code> 
-\\ **Effekt:** Ein Wort oder Textbereich wird mit der **rechten** Maustaste markiert. Die Anfangsposition des Cursors wird gemerkt (''SAVE_CUR''), beim Loslassen der (rechten) Maustaste wird der markierte Bereich gespeichert und der alte Speicherinhalt überschrieben (''MRK_REP''), die temporäre Makroleiste mit den Apparatetags wird aufgerufen (''SWITCH:c_?tag1''). Beim Anklicken eines Buttons/Tags in der temporär angezeigten Mausleiste wird zuerst das Endetag an der Cursorposition eingesetzt, dann an der zuvor gemerkten Cursorposition (''EXCH_CUR'') das Anfangstag.\\ \\  Für Apparate, die über eine längere Textstrecke gelten, muss man dann sogenannte **Langeinträge** machen. Sie enthalten zusätzlich zum Apparateintrag selbst, der wie beim "Einwortapparateintrag" an das erste Wort gehängt wird, einen Endepunkt am letzten Wort der Textstrecke. Um den Langeintrag vom Kurzeintrag zu unterscheiden, hat sich die Kodierungsfolge <l1> ... </l1> ... <ep1/> bewährt. Auch hierbei stehen die Ziffern wieder für den entsprechenden Apparat.\\ \\  Ein passendes Makro wäre:\\  
-  Y,A_1=split,split, cur_up,' <l1></l1>',5*cur_le 
-Den Endepunkt muss man in diesem Fall noch manuell setzen. Hier wird nun die **ALT-Taste mit der 1 im Nummernblock** gedrückt.\\ \\  Diese Makros verlangen noch einiges an manueller Eingabe. Man könnte über das Markieren mit der Maus die Eingabe erleichtern (s. oben). 
----- 
-[[tustep:loesungen:start|Zurück zum Inhaltsverzeichnis - Lösungen und Tipps]] 
tustep/loesungen/editormakros.txt · Zuletzt geändert: 2021/03/16 05:34 (Externe Bearbeitung)