langage de balisage leger mentor de langage_de_balisage_leger_mentor_de_som

Leichte Auszeichnungssprache Mentor

zurück zur Startseite der Website

version verfügbar in : en it ru zh es ja nl pt fr

Erstellungsdatum : 20220620- Aktualisierungsdatum : 20220620- Generierungsdatum : 20240612_171241

1.Lbl-Mentor

Dieses Dokument ist die Spezifikation der leichten Auszeichnungssprache des Mentor-Systems - genannt Mentor LBL..
Das Design dieser Sprache ist François_Xavier_Pincemin Designer und Entwickler des Mentor-Systems.

2.Einführung in die Leichte Auszeichnungssprache Mentor

  • die leichte Markupsprache mentor ist eine minimale Markupsprache, um Hypertext über das utags-Modul des mentor-Systems in einer gvim/vim-Umgebung zu verwalten - cf vim_org.
  • das Modul mt_to_htm des mentor-Systems ermöglicht es, aus dem mentor-Quelltext ein HTML-Dokument zu erzeugen.
  • wenn Sie also diesen Text in einer HTML-Seite lesen, könnten Sie genauso gut den Quelltext in einem einfachen Editor lesen.
  • aber natürlich ist es nur der gvim/vim-Editor, der Ihnen die Vorteile der utag-Funktionen bietet, und zwar aus mehreren Gründen :
  • Die Gesamtform des Textes ist eine Verkapselung von bloc de texte de oder bloc structurel de.
  • Der bloc structurel de legt die Labels und Verweise des Hypertextes fest.

    2.1.Darstellung der Hypertextform

    2.1.1.Textblock

    Der Textblock ist die Struktur, unter der ein Text gespeichert wird..

    - Er besteht aus vier Arten von Elementen, die von Begrenzungspaaren begrenzt werden < >, ( ), { } und [ ]

  • ein Hypertext- oder Tag-Tag, das zwischen die Begrenzungszeichen " gesetzt wird<" et ">", sagte Etiquette mentor de der nur alphanumerische Zeichen mit dem Underscore-Zeichen "_" als Trennzeichen enthalten darf - ein eventueller Résumé de bloc de oder Commentaire mentor de in Klammern gesetzt "( )",
  • der eigentliche Text, in geschweifte Klammern gesetzt "{ der Text }" bei dem es sich um den eigentlichen Textblock handelt.
  • Hypertextverweise (zu den Mentor-Etiketten) der Form [une_reference_de] die den in den Textblöcken enthaltenen Text durchziehen

    2.1.1.1.Blockstruktur

    Wir haben also eine allgemeine Form:

    <etiquette_de_bloc_de>(Titel) [une_reference_de]
    {
    ...
    ... [une_reference_de] ...
    ...
    <etiquette_de_sous_bloc_de>(Unterblocketikett)
    {
    ...
    ... [une_reference_de] ...
    ...
    ... <etiquette_dans_texte_de> ... ... ... <une_reference_de>(das ist das Label des Beispiels einer Referenz eigentlich)
    ...
    ... [une_reference_de] ...
    ...
    usw....
    }
    }

    die daher verschachtelt werden kann: Ein Textblock kann andere Textblöcke enthalten.
    Ein bestimmter Block ist der Block der gesamten Datei, dessen Beschriftungszeile Folgendes enthält:

  • die Beschriftung des Dateinamens - den Titel der Datei im Blockkommentar - einen Verweis auf das Inhaltsverzeichnis der Datei.
    Die Form des Labels der Datei ist also <>(kein Bezug)[] .

    
    - z. B. für eine Datei namens Dateiname.ext auf eine :  


    <nomfichier_extension_de>(Dateititel)[nomfichier_extension_de_som]
    das Makro zum Erzeugen dieser Zeile ist fnt_de für eine Textdatei.
    Es gibt weitere Makros: fnc für eine C-Quelle, fns für eine Unix-Shell, etc....

  • ein Commentaire de bloc de wobei der öffnenden Klammer ein Doppelpunkt " folgt:" wird angeben, dass das Mentor-Label und sein Kommentar im HTML-Label verkettet werden sollen.


    Beispiel : <nomfichier_extension_de>(: Dateititel) was in html ergibt:

    2.1.1.2.Nomfichier extension de: Dateititel Ansonsten wird nur der Kommentar allein in HTML bearbeitet:

    Beispiel : <nomfichier_extension_de>(Dateititel) was in html ergibt:

    2.1.1.3.Dateititel Mentor entwickelt das Konzept des Infixes, das normalerweise ein 3-Buchstaben-Code ist, der, wenn er in einem Etikett vorhanden ist, bei der html-Generierung als zu ersetzender Text interpretiert wird, wenn das Infix in der Infix-Datei mit dem Namen infixe vorhanden ist..
    lst und unter dem Arbeitsverzeichnis des Programms utags vorhanden ist.
    Das Infix ist die Verallgemeinerung der Konzepte Präfix und Suffix.

    Zum Beispiel : <nom_spe_de>(besonderer Name) was folgendes ergibt :

    2.1.1.4.Besonderer Name

    Die Ersetzung erfolgt so, dass der ersetzte Text in der französischen Version am Anfang und in der englischen Version am Ende der Überschrift steht..

    Spezialisierung von Textblöcken

    Das Zeichen nach der öffnenden Klammer eines Textblocks, falls vorhanden, spezifiziert den Typ des Blocks.
    Dieser Typ wird von verschiedenen Modulen verwendet, die das Modul zur Verwaltung von Hypertext ergänzen..

    2.1.2.Tabellen der blockspezifischen merkmale

    CharakterName  Bedeutung Textblock (Anerkennungen)  Kommentar (Klammern)  
    :  Zweipunkt  Hauptblock : der nächste Block spezifiziert die META-Tags  Verkettung von Beschriftung und Kommentar im HTML-Titel
    =  GleichheitszeichenWahrung der Form des Ausgangstextes, falls verdoppelt == Quellcode lbl    
    !  Ausrufezeichen  der in HTML angezeigte Text ist der Quelltext des lbl in fester Schriftart    
    -  Tiret  Chips    
    `  Backcote  nummerierte Chips    
    |  Rohr  HTML-Kommentar, wenn verdoppelt auf der HTML-Seite fehlt    
    %  Prozent  Text, der in einer zweispaltigen Tabelle für eine orthoptische Ãœbung generiert wird    
    #  Raute  Spezifikation für die Ãœbersetzung durch die Deepl-API    
    ~  Tilde  unterstütztes Lesen in einer Fremdsprache (Tooltip übersetztes Wort)    
     Semikolon  CSV-Block    
    .  Punkt  setzt die Blockspezifikation in einen Kommentar, der nicht in HTML angezeigt wird    
    nbr        
    Charakter      
    10.000000      

    Vom HTML-Seitengenerator verwendete Blocktypen.


    - Blöcke, die Aufzählungszeichen erzeugen, werden durch das Bindestrichzeichen definiert. : {- ... }.
    Die Chip-Ebene wird automatisch durch die Blockebene festgelegt..
    Nummerierte Chips werden durch Blöcke definiert, deren Code backcote ist. {` ... }.
    Beispiele:

    
    {- niv1 lib1
     - niv1 lib2
       {- niv2 lib1
      - niv2 lib2
        {- niv3 lib1
        - niv3 lib2
        }
      - niv2 lib3
       }
     - niv1 lib3
    }
     und
    {` niv1 lib1
     - niv1 lib2
       {` niv2 lib1
      - niv2 lib2
      - niv2 lib3
      - niv2 lib4
       }
     - niv1 lib3
     - niv1 lib4
    }
    
    Dies ergibt in HTML :

    und

    1. niv1 lib1
    2. niv1 lib2

      1. niv2 lib1
      2. niv2 lib2
      3. niv2 lib3
      4. niv2 lib4
    3. niv1 lib3
    4. niv1 lib4



    - Ein Block mit einem Code gleich "=" erzeugt einen Text, bei dem die Form des Blocks beibehalten wird. (HTML-Tag PRE). Die Schriftart bleibt die Standardschriftart, die proportional ist..

    - Ein Block mit einem Code gleich "==" erzeugt ebenfalls einen Text mit Beibehaltung der Blockform (HTML-Tag PRE) und auch mit keiner Interpretation der anderen LBL-Tags,
    der Text des Satzes ohne lexikalische Analyse kopiert wird. Dies ist bei diesem Block der Fall. Um in einer HTML-Seite die eigentliche Struktur der Sprache darstellen zu können.

    - Ein Block vom Typ {! } erzeugt einen Text, bei dem die Form des Textes aus dem Block beibehalten wird. ( PRE-Bake ) mit zusätzlichem Gebrauch einer festen Schriftart (Mail)
    dies, um die Ausrichtung des Textes z. B. bei Bildschirmkopien beizubehalten. Fälle der Ebenen weiter oben und der Planetentabelle weiter unten.

    - Un bloc de type underscore {| |} wird als HTML-Kommentar interpretiert. HTML-Quelle an dieser Stelle des Textes ansehen.


    - Un bloc de type double underscore {|| ||} wird aus der HTML-Generation entfernt


    - Ein Block vom Typ CSV wird definiert durch {; ... } Dieser Block enthält eine Datentabelle, in der das Semikolon als Spaltentrennzeichen verwendet wird..
    Eine HTML-Tabelle wird generiert und der Header durch die Spezifikation "CSV_COL definiert.:" am Anfang der ersten Zeile, die die Namen der Spalten enthält
    wird in HTML in einer bestimmten Farbe angezeigt (blue steel standardmäßig).

    Beispiel :

    
    <planète_tab_de>(Tab-Planet)
    {;
    CSV_REG:0       ;1         ;                   2;             3;4         ;
    CSV_COL:Planeten;Revolution;Entfernung_Sonne Mkm;Durchmesser km;Drehung   ;
    CSV_TYP:sN      ;s         ;                  n0;            n0;s         ;
    Sonne           ;          ;                   0;       1392684;26 Stunden;
    Merkur          ;88 j      ;                  58;          4878;59 Tage   ;
    Venus           ;225 j     ;                 108;         12104;243 Tage  ;
    Mond            ;28 j      ;                 149;          3474;          ;
    Land            ;365.25 j  ;                 149;         12756;24 Stunden;
    Mars            ;687 j     ;                 228;          6794;24 h 1/2  ;
    Jupiter         ;12 Jahre  ;                 778;        142800;10 Stunden;
    Saturn          ;29 Jahre  ;                1427;        120000;10 h 1/4  ;
    Uranus          ;84 und    ;                2870;         52400;15 h 1/2  ;
    Neptun          ;164.86 und;                4497;         48000;16 Stunden;
    Pluton          ;247.74 und;                5913;          2400;6 Tage 1/3;
    }
    
    Dies ergibt in der HTML-Seite :

    2.2.Tab-Planet

    PlanetenRevolutionEntfernung_Sonne MkmDurchmesser kmDrehung  
    Sonne     0 139268426 Stunden
    Merkur  88 j   58 487859 Tage  
    Venus  225 j   108 12104243 Tage  
    Mond  28 j   149 3474  
    Land  365.25 j   149 1275624 Stunden
    Mars  687 j   228 679424 h 1/2  
    Jupiter  12 Jahre   778 14280010 Stunden
    Saturn  29 Jahre   1427 12000010 h 1/4  
    Uranus  84 und   2870 5240015 h 1/2  
    Neptun  164.86 und 4497 4800016 Stunden
    Pluton  247.74 und 5913 24006 Tage 1/3

    2.3. CSV-Blocktypen, die vom Modul des Mentor-Systems zur Verwaltung strukturierter Daten in Form von CSV-Tabellen verwendet werden..Blocktyp csv


    - Der zuvor gesehene Block vom Typ CSV {; ... } wird von einem Modul verarbeitet, das die Formatierung der Tabelle sicherstellt. Bei der Bearbeitung der Tabelle verwendet man den Befehl
    die diesem Modul zugewiesen wurde, um die Tabelle neu zu formatieren, so dass wir uns nur um das Einfügen der Daten kümmern müssen.

    - die Verarbeitung der stukturierten Daten wird in diesen CSV-Tabellenblöcken über ein Tabellenkalkulationsmodul möglich, bei dem es sich also um eine Tabellenkalkulation handelt.

    In dieser Tabellenkalkulation werden die Befehle durch Spezifikationszeilen am Anfang der Tabelle spezifiziert, die mit einem String beginnen, der die Art der Spezifikation angibt Beispiel: "CSV_SPE: ; ; ;" oder SPE ist die Spezifikation.

    Importfunktionen (CSV_IMP) und Datenexport (CSV_EDT). All dies ermöglicht beispielsweise den Aufbau einer ETL.


    Dieses Berechnungsmodul kann gemäß den Berechnungsspezifikationen der Tabelle Ausgabeblöcke erzeugen {@ } mit der CSV_EDT-Spezifikation
    oder Zeitungsblöcke (Detailblatt) { } (Spalte vom Typ Zeitung).

  • dieses Modul wird RDBMS-Operationen zur Verfügung stellen, die verschiedene CSV-Blöcke miteinander verbinden :

  • Schließlich wird eine Sprache, die in CSV-Blöcken "prozedural" eingebettet ist, die Erstellung von Anwendungen ermöglichen. Diese Anwendungen können als Batch ausgeführt werden außerhalb einer gvim-Bearbeitungssitzung oder in einer gvim-Bearbeitungssitzung, in der gvim als grafische Benutzeroberfläche fungiert.

  • dieses Modul zur Verarbeitung strukturierter Daten befindet sich derzeit in der Entwicklung und wird so bald wie möglich online gehen.

    3. Arten von Anwendungsblöcken. Diese Blöcke sind mit Anwendungen verbunden, die sich auf natürliche Weise aus dem Design des Systems ergeben..Blocktyp App

    3.1.Orthoptisches Lesen in Konvergenz oder Divergenz


    - Ein Block vom Typ 0.000000e+00rzeugt eine HTML-Seite mit einer zweispaltigen Tabelle mit dem Text, der in jeder Spalte angezeigt wird, damit er zusammen mit der orthoptischen Ãœbung zur Konvergenz oder Divergenz gelesen werden kann..

    Auf dieser Seite wird der Text doppelt dargestellt, so dass man gleichzeitig mit dem Lesen eine Übung zur Konvergenz oder Divergenz der Augen durchführen kann, ähnlich wie bei einem Orthoptisten..

    Mit dem Vorteil, dass man das Fenster und damit den Konvergenzaufwand dimensionieren kann, ohne eine Reihe von Prismen für die progressive Konvergenz zu benötigen.

    Wenn die Seite schmal ist, ist es leicht, die beiden Bilder zusammenzuführen, je breiter sie wird, desto mehr Anstrengung wird den Augenmuskeln abverlangt..

    Es gibt zwei Möglichkeiten, die beiden Bilder zu verschmelzen: in Konvergenz und Divergenz. Konvergenz zieht die Muskeln zusammen und Divergenz streckt sie (Streckmuskeln).

    Die Kombination beider Methoden ergibt eine komplette Orthoptisiesitzung. : die Arbeit zur Stärkung der Muskeln (Muskelbildung) und ihre Entspannung (Dehnung).

    Die Modulation der Fensterbreite entspricht der Abfolge von Sitzungen, in denen man zunehmend konvergierende oder divergierende Prismen verwendet, man muss also schrittweise vorgehen..

    Ich habe festgestellt, dass die Breitenmodulation, da sie kontinuierlich erfolgt, eine höhere Leistung des okularen Systems ermöglicht, insbesondere bei der Divergenz. (Entspannung der Muskeln).

    In generiertem HTML sehen :

    Auf dieser Seite wird der Text doppelt dargestellt, so dass man gleichzeitig mit dem Lesen eine Übung zur Konvergenz oder Divergenz der Augen durchführen kann, ähnlich wie bei einem Orthoptisten..

    Mit dem Vorteil, dass man das Fenster und damit den Konvergenzaufwand dimensionieren kann, ohne eine Reihe von Prismen für die progressive Konvergenz zu benötigen.

    Wenn die Seite schmal ist, ist es leicht, die beiden Bilder zusammenzuführen, je breiter sie wird, desto mehr Anstrengung wird den Augenmuskeln abverlangt..

    Es gibt zwei Möglichkeiten, die beiden Bilder zu verschmelzen: in Konvergenz und Divergenz. Konvergenz zieht die Muskeln zusammen und Divergenz streckt sie (Streckmuskeln).

    Die Kombination beider Methoden ergibt eine komplette Orthoptisiesitzung. : die Arbeit zur Stärkung der Muskeln (Muskelbildung) und ihre Entspannung (Dehnung).

    Die Modulation der Fensterbreite entspricht der Abfolge der Sitzungen, in denen man zunehmend konvergierende oder divergierende Prismen verwendet, man muss also schrittweise vorgehen..

    Ich habe festgestellt, dass die Breitenmodulation, da sie kontinuierlich erfolgt, eine höhere Leistung des okularen Systems ermöglicht, insbesondere bei der Divergenz. (Entspannung der Muskeln).

    Sie sollten mit der kleinsten Breite des Fensters beginnen und dann schrittweise erweitern..

    Auf dieser Seite wird der Text doppelt dargestellt, so dass man gleichzeitig mit dem Lesen eine Übung zur Konvergenz oder Divergenz der Augen durchführen kann, ähnlich wie bei einem Orthoptisten..

    Mit dem Vorteil, dass man das Fenster und damit den Konvergenzaufwand dimensionieren kann, ohne eine Reihe von Prismen für die progressive Konvergenz zu benötigen.

    Wenn die Seite schmal ist, ist es leicht, die beiden Bilder zusammenzuführen, je breiter sie wird, desto mehr Anstrengung wird den Augenmuskeln abverlangt..

    Es gibt zwei Möglichkeiten, die beiden Bilder zu verschmelzen: in Konvergenz und Divergenz. Konvergenz zieht die Muskeln zusammen und Divergenz streckt sie (Streckmuskeln).

    Die Kombination beider Methoden ergibt eine komplette Orthoptisiesitzung. : die Arbeit zur Stärkung der Muskeln (Muskelbildung) und ihre Entspannung (Dehnung).

    Die Modulation der Fensterbreite entspricht der Abfolge der Sitzungen, in denen man zunehmend konvergierende oder divergierende Prismen verwendet, man muss also schrittweise vorgehen..

    Ich habe festgestellt, dass die Breitenmodulation, da sie kontinuierlich erfolgt, eine höhere Leistung des okularen Systems ermöglicht, insbesondere bei der Divergenz. (Entspannung der Muskeln).

    Sie sollten mit der kleinsten Breite des Fensters beginnen und dann schrittweise erweitern..

    3.2.Textübersetzung mit der api deepl

    - Ein Block vom Typ Raute "#" {.#en:fr: } bewirkt, dass der Text selbst in den Quelltext übersetzt wird.

  • Die verwendeten Sprachcodes sind Codes mit zwei Buchstaben, wobei der erste die Ausgangssprache und der zweite die Ãœbersetzungssprache ist..
  • Die Ãœbersetzung erfolgt durch ein Dienstprogramm, das denapi_deepl.
  • Die Ãœbersetzung kann für einen Textblock innerhalb einer Datei erfolgen (der ursprüngliche Text wird ersetzt)
  • oder für eine ganze Datei, in diesem Fall wird eine neue Datei erstellt, deren Name der Name der ursprünglichen Datei ist, an den das Suffix der Sprache angehängt wird..
  • Die Beschriftungen werden nicht übersetzt und das Suffix der Ãœbersetzungssprache wird angehängt.
  • Wenn es keinen Etikettenkommentar gibt, wird das Etikett verwendet, um einen Text zu generieren, der dann übersetzt wird..
  • Auf diese Weise behält man die Verbindung (mit der Deklination eines anderen Suffixes der Ãœbersetzungssprache) gibt die Datei in der Ausgangssprache ein und die verschiedenen Dateien in der Ãœbersetzungssprache.
  • Nach der Ãœbersetzung wird die Ãœbersetzungsspezifikation mit dem Einfügen eines Punktes " kommentiert.." als Blockmodifizierer.
  • Beispiel, die folgende Zeile ist immer auf Englisch :

    3.2.1.Unterstütztes Lesen in einer Fremdsprache


    - A tilde type block "~" is used for foreign language reading assistance.

    - The translation specification follows the tilde character example : {~es:fr: hello the world }
    <lecture_aidée_en_langue_étrangère_en>(assisted reading in a foreign language)
    Dies führt auf der html-Seite zu unterstrichenen, gestrichelten Wörtern, die einen Tooltip mit dem übersetzten Wort besitzen.

    hallo die Welt

    Umkehrwörterbuch : {~fr:es: hello world }

    hallo welt

    Als Beispiel wird ein Spanisch-Französisch-Wörterbuch mit etwa 26000 Wörtern angegeben.. Andere Wörterbücher können vom Benutzer mentor instanziiert werden.
    Sie können vom Nutzer geteilt werden, indem sie zur Integration in das utags-Paket an den Herausgeber hochgeladen werden..
    Wenn es kein Wörterbuch gibt, kann man das Wörterbuch eines Textes mit dem Befehl mentor erstellen und dann die Liste der Wörter aus dem Wörterbuch übersetzen lassen von einem Übersetzer wie deepl

    3.2.2.Beispiel der Text des Liedes la cucaracha

    
    
    

    la cucaracha, la cucaracha que ya no puede caminar porque no tiene porque le falta la marijuana que fumar

    en la misa y en la feria todo el mundo ya lo sabe los que llegan al gobierno porque se puede comprar

    del partido comunista ya no queda casi nada ahora todos van buscando como hacerse millonadas

    fue la junta de naciones pa' poner sus opiniones todos no estaban de acuerdo donde y cuando bombardear se sientan los presidentes en la silla del gobierno luego mandan a la guerra a la gente de su pueblo

    la cucaracha, la cucaracha que ya no puede caminar porque no tiene porque le falta la marijuana que fumar

    huaracha muchacha que vamoa huarachar va una cucaracha que quiere comerciar, toca, loca ábreme la boca, buscame una coca que no quiero trabalear, mica, rica para zapatear,

    pido a victor jara no me vaya a doblegar, Cha-ma Chama Che Guevara una petición, una cucaracha, por culpa y omisión,

    la cucaracha, la cucaracha que ya no puede caminar porque no tiene porque le falta la marijuana que fumar

    todos se pelean la silla que les deja mucha plata en el norte pancho villa y en el sur viva Zapata!

    ya murió la cucaracha ya la llevan a enterrar entre cuatro zopilotes y un ratón de sacristan

    3.3.Besondere Etikettentypen


    - Ein Etikett vom Typ <_file> erzeugt einen HTML-Verweis auf eine Datei.
    - Beispiel :
    <lien_document_local_de_file>(/home/me/Documents/document.pdf)

    - Ein Etikett vom Typ <_web> wird einen HTML-Verweis auf das Netz generieren.
    - Beispiel :
    <alwaysdata_de_nweb>(www.alwaysdata.com)

    - wenn das Infix statt "nweb" lautet [web_de]Wenn Sie auf den Link klicken, öffnet sich ein neuer Tab in Ihrem Browser..

    <alwaysdata_de_nweb>(www.alwaysdata.com)
    was in html ergibt : alwaysdata oder lien_vers_alwaysdata_dans_un_nouvel_onglet

  • wenn das Infix "webs" oder "nwebs" ist, wird der Link in https statt http sein.


    - Ein Etikett vom Typ <_hil> für "html_inline" gibt an, dass der im Block enthaltene html-Code genommen und hinzugefügt werden soll
    direkt auf die html-Seite. Dies wird in besonderen Fällen verwendet, um automatisch HTML-Seiten zu generieren, die mehr als nur Text enthalten.
    oder um Stylesheets einzubinden.

    3.4.Verwaltung von Fettschrift

    - Ein Text in Klammern, gefolgt von einem Ausrufezeichen (! wird erscheinen ) und Gras.
    - Beispiel : (! Text in Gras ) :
    Text in Gras