langage de balisage leger mentor pt langage_de_balisage_leger_mentor_pt_txh_som

Linguagem de marcação leve Mentor

voltar para a página inicial

versão disponível em : en it ru zh es ja de nl fr

data de criação : 20220608- data de actualiza&occedil&atlideo: 20220608- data de gera&ccdelão : 20240612_171241

1.Lbl mentor

Este documento é a especificação da linguagem de marcação leve do Sistema Mentor - conhecido como LBL Mentor.
A concepção desta língua é a de François_Xavier_Pincemin desenhador e desenvolvedor do sistema Mentor.

2.Introdução à linguagem de marcação leve Mentor

  • a linguagem de marcação leve do mentor é uma linguagem de marcação mínima para lidar com hipertexto através do módulo utags do sistema mentor num ambiente gvim/vim - cf vim_org.
  • o módulo mt_to_htm do sistema mentor gera um documento HTML a partir do texto fonte do mentor.
  • por isso, se estiver a ler este texto numa página HTML, poderá igualmente ler o texto fonte num editor simples.
  • mas obviamente é apenas o editor gvim/vim que lhe dará o benefício de utags, por várias razões :
  • A forma geral do texto é um encapsulamento de . bloc de texte  ou . bloc structurel .
  • O . bloc structurel  define as etiquetas e referências do hipertexto.

    2.1.Apresentação da forma de hipertexto

    2.1.1.Bloque de texto

    El bloque de texto es la estructura bajo la cual se almacena un texto.

    - It is composed of four types of elements delimited by pairs of delimiters < >, ( ), { } and [ ]

  • una etiqueta de hipertexto o etiqueta puesta entre los delimitadores "<" et ">", dijo . etiquette mentor  que sólo puede contener caracteres alfanuméricos con el carácter de subrayado "_" como separador

  • una posible . résumé de bloc  o . commentaire mentor  poner entre paréntesis "( )",

  • the text itself, enclosed in braces "{ the text }" que es el bloque de texto real.

  • referencias de hipertexto (a las etiquetas de los mentores) of the form [une_reference_en] que se utilizan en el texto contenido en los bloques de texto

    2.1.1.1.Bloque estructural

    So we have a general form:

    <etiquette_de_bloc_en>(title) [une_reference_en]
    {
    ...
    ... [une_reference_es] ...
    ...
    <etiquette_de_sous_bloc_es>(etiqueta del sub-bloque)
    {
    ...
    ... [une_reference_es] ...
    ...
    ... <etiquette_dans_texte_es> ... ... ... <une_reference_es>(es la etiqueta del ejemplo de una referencia de hecho)
    ...
    ... [une_reference_es] ...
    ...
    etc....
    }
    }

    que, por lo tanto, pueden anidarse: Un bloque de texto puede contener otros bloques de texto.

    Un bloque particular es el bloque de todo el archivo cuya línea de etiqueta contiene:

  • la etiqueta del nombre del archivo
  • el título del archivo en el comentario del bloque
  • una referencia al contenido del archivo. The form of the file label is therefore <>(une reference)[] .

    
    - for example for a file named filename.ext on a :  


    <nomfichier_extension_en>(file title)[nomfichier_extension_en_som]

    la macro para generar esta línea es fnt_es para un archivo de texto.
    Hay otras macros: fnc para una fuente C, fns para un shell unix, etc....

  • uno . commentaire de bloc  donde el paréntesis de apertura va seguido de dos puntos ":" indicará que concatenamos la etiqueta mentor y su comentario en la etiqueta HTML.

    example : <nomfichier_extension_en>(: file title) which gives in the html:

    2.1.1.2.. nomfichier extension : título del archivo

    En caso contrario, es el comentario el único que se edita en el HTML:

    example : <nomfichier_extension_en>(file title) which gives in the html:

    2.1.1.3.Título del archivo

    Mentor está desarrollando el concepto de infijo, que generalmente es un código de 3 letras que, si está presente en una etiqueta, se interpretará durante la generación de html como texto a reemplazar si el infijo está presente en el archivo infijo llamado infix.lst y presente en el directorio de trabajo del programa utags.

    El infijo es la generalización de los conceptos de prefijo y sufijo.

    For example : <nom_spe_en>(special name) which gives :

    2.1.1.4.Nombre especial

    La sustitución se realiza de forma que el texto sustituido se coloca al principio del título para la versión francesa y al final para la versión inglesa.

    especialização de blocos de texto

    El carácter que sigue al paréntesis inicial de un bloque de texto, si está presente, especifica el tipo de bloque.
    Este tipo será utilizado por diferentes módulos que complementan el módulo de gestión del hipertexto.

    2.1.2.Tablas de especificación de bloques

    carácter  nombre  significado del bloque de texto (elogios)  comentario (soportes)  
    :  colon  bloque principal : el siguiente bloque especifica las etiquetas META  concatenación de la etiqueta y el comentario en el título HTML  
    =  signo igual  conservación de la forma del texto original, si se dobla == código fuente lbl    
    !  signo de exclamaciónel texto mostrado en el HTML es la fuente del lbl en fuente fija    
    -  tiret  chips    
    `  backcote  balas numeradas    
    |  tubo  Comentario HTML, si está duplicado y no está presente en la página HTML    
    %  por ciento  texto generado en una tabla de dos columnas para el ejercicio de ortopedia    
    #  hash  especificación de la traducción por la API Deepl    
    ~  tilde  lectura asistida en una lengua extranjera (palabra traducida por tooltip)    
     punto y coma  Bloque CSV    
    .  punto  comenta la especificación del bloque que no se mostrará en el HTML    
    nbr        
    carácter        
    10.000000      

    Tipos de bloques utilizados por el módulo generador de páginas HTML.


    - Los bloques generadores de viñetas estarán definidos por el carácter de guión : {- ... }.
    El nivel del chip se ajusta automáticamente por el nivel del bloque.
    The numbered chips are defined by blocks whose code is backcote {` ... }.
    ejemplos:

    
    {- niv1 lib1
     - niv1 lib2
       {- level 2 lib1
      - niv2 lib2
        {- niv3 lib1
        - niv3 lib2
        }
      - niv2 lib3
       }
     - niv1 lib3
    }
     y
    {` niv1 lib1
     - niv1 lib2
       {` level 2 lib1
      - niv2 lib2
      - niv2 lib3
      - niv2 lib4
       }
     - niv1 lib3
     - niv1 lib4
    }
    
    Esto da en HTML :

    y

    1. niv1 lib1
    2. niv1 lib2

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



    - Un bloque con un código igual a "=" generará un texto con la forma del bloque conservada (Etiqueta HTML PRE). El tipo de letra sigue siendo el predeterminado, que es proporcional.

    - Un bloque con un código igual a "==" también generará un texto con la forma del bloque retenido (Etiqueta HTML PRE) y también sin interpretación de las otras etiquetas LBL,
    el texto del bloque se copiará sin ningún análisis léxico. Este es el caso de este bloque. Para poder presentar en una página HTML la propia estructura del lenguaje.

    - A block of type {! } generará un texto con la forma del bloque de texto retenido. ( Faro PRE ) con el uso adicional de una fuente fija (correo)
    esto es para preservar la alineación del texto en el caso de una copia en pantalla por ejemplo. Caso de los niveles superiores y la mesa de los planetas inferiores.

    - Un bloc de type underscore {| |} se interpretará como un comentario HTML. Vea la fuente HTML en este punto del texto.


    - Un bloc de type double underscore {|| ||} se eliminará de la generación de HTML


    - A CSV block will be defined by {; ... } Este bloque contiene una tabla de datos en la que el separador de columnas es el punto y coma.
    Se generará una tabla HTML y la cabecera definida por la especificación "CSV_COL:" al principio de la primera línea que contiene los nombres de las columnas
    se mostrará en el HTML en un color determinado (acero azul por defecto).

    ejemplo :

    
    <planète_tab_es>(ficha del planeta)
    {;
    CSV_REG:0 ;1 ;         2;      3;4 ;
    CSV_COL:Planets ;revolution;Sun_Distance Mkm; Diameter km;Rotation ;
    CSV_TYP:sN ;s ;         n0;     n0;s ;
    Sun ;      ;         0;   1392684;26 hours ;
    Mercury ;88 j ;         58;    4878;59 days ;
    Venus ;225 j ;        108;    12104;243 days ;
    Moon ;28 j ;        149;    3474;       ;
    Earth ;365.25 j ;        149;    12756;24 hours ;
    Mars ;687 j ;        228;    6794;24 h 1/2 ;
    Jupiter ;12 years old ;        778;   142800;10 hours ;
    Saturn ;29 years old ;        1427;   120000;10 h 1/4 ;
    Uranus ;84 ans ;        2870;    52400;15 h 1/2 ;
    Neptune ;164.86 ans;        4497;    48000;16 hours ;
    Pluton ;247.74 ans;        5913;    2400;6 days 1/3;
    }
    
    Esto da en la página HTML :

    2.2.Ficha del planeta

    Planetas  revoluciónDistancia_Sol Mkm Diámetro kmRotación  
    Sol     0 139268426 horas  
    Mercurio  88 j   58 487859 días  
    Venus  225 j   108 12104243 días  
    Luna  28 j   149 3474  
    Tierra  365.25 j   149 1275624 horas  
    Marte  687 j   228 679424 h 1/2  
    Júpiter  12 años   778 14280010 horas  
    Saturno  29 años   1427 12000010 h 1/4  
    Urano  84 ans   2870 5240015 h 1/2  
    Neptuno  164.86 ans 4497 4800016 horas  
    Plutón  247.74 ans 5913 24006 días 1/3

    2.3. Tipos de bloques CSV utilizados por el módulo de gestión de datos estructurados de la tabla CSV del sistema mentor.tipo de bloque csv


    - The CSV type block seen previously {; ... } es procesado por un módulo que garantiza el formato de la tabla. Al editar la tabla, el comando
    asignado a este módulo para remodelar la tabla, por lo que sólo tenemos que insertar los datos.

    - el tratamiento de los datos estructurados es posible en estos bloques de tablas CSV a través de un módulo de cálculo de tablas que es, por tanto, una hoja de cálculo.

    En esta hoja de cálculo, los comandos se especifican mediante líneas de especificación al principio de la tabla, que comienzan con una cadena que indica la naturaleza de la especificación.: "CSV_SPE: ; ; ;" o SPE es la especificación.

    Funciones de importación (CSV_IMP) y exportación de datos (CSV_EDT). Todo ello permite, por ejemplo, construir un ETL.


    This calculation module will be able to generate, according to the calculation specifications of the table, edition blocks {@ } con la especificación CSV_EDT
    o bloques de periódicos (hoja de detalles) { } (columna de tipo de registro).

  • este módulo proporcionará operaciones de SGBD que interconectan diferentes bloques CSV :

  • Por último, un lenguaje incluido en los bloques CSV "procedural" permitirá crear aplicaciones. Estas aplicaciones pueden ejecutarse por lotes fuera de una sesión de edición de gvim o en una sesión de edición de gvim en la que se utiliza gvim como interfaz gráfica.

  • este módulo de tratamiento de datos estructurados está en desarrollo y estará disponible en línea lo antes posible.

    3. Tipos de blocos de aplicação. Estes blocos estão associados a aplicações que emergem naturalmente da concepção do sistema..aplicação tipo bloco

    3.1.Lectura ortóptica en convergencia o divergencia


    - A block of type % will generate an HTML page with a bicolumn table with the text displayed in each column to allow its joint reading with an orthoptic exercise of convergence or divergence.

    Esta página presenta el texto por duplicado para que, al mismo tiempo que se lee, se pueda hacer un ejercicio de convergencia o divergencia ocular similar a los que realiza un ortoptista.

    Con la ventaja de que la ventana, y por tanto el esfuerzo de convergencia, puede ser dimensionado sin necesidad de una serie de prismas de convergencia progresiva.

    Si la anchura de la página es pequeña, es fácil fusionar las dos imágenes; cuanto más ancha sea, más esfuerzo tendrán que hacer los músculos del ojo.

    Las dos imágenes pueden fusionarse de dos maneras: en convergencia y divergencia. La convergencia contrae los músculos y la divergencia los estira (músculos en extensión).

    Combinando las dos vías obtenemos una sesión ortóptica completa : trabajo de fortalecimiento muscular (musculación) y su relajación (estiramiento).

    La modulación de la anchura de la ventana corresponde a la sucesión de sesiones en las que utilizamos prismas cada vez más convergentes o divergentes, por lo que hay que ir poco a poco.

    He observado que la modulación de la anchura es continua y permite un mayor rendimiento del sistema ocular, sobre todo en divergencia. (relajación de los músculos).

    Ver en el HTML generado :

    This page presents the text in duplicate so that at the same time of the reading, one can make an exercise of convergence or occular divergence similar to those which one makes at an orthoptist.

    With the advantage that we can dimension the window and thus the convergence effort, without needing a series of progressive convergence prism.

    If the width of the page is reduced, it is easy to merge the two images, the wider it is, the more effort is required from the eye muscles.

    It is possible to merge the two images in two ways: in convergence and divergence. Convergence contracts the muscles and divergence stretches them (muscles in extension).

    By combining the two ways we obtain a complete orthoptic session : muscle strengthening work (musculation) and their relaxation (stretching).

    The modulation of the width of the window corresponds to the succession of the sessions where we use more and more convergent or divergent prism, it is thus necessary to go gradually.

    I noticed that the modulation of the width being done in a continuous way, it allows greater performances of the occular system particularly in the divergence (relaxation des muscles).

    Start with the smallest width of the window and gradually widen.

    This page presents the text in duplicate so that at the same time of the reading, one can make an exercise of convergence or occular divergence similar to those which one makes at an orthoptist.

    With the advantage that we can dimension the window and thus the convergence effort, without needing a series of progressive convergence prism.

    If the width of the page is reduced, it is easy to merge the two images, the wider it is, the more effort is required from the eye muscles.

    It is possible to merge the two images in two ways: in convergence and divergence. Convergence contracts the muscles and divergence stretches them (muscles in extension).

    By combining the two ways we obtain a complete orthoptic session : muscle strengthening work (musculation) and their relaxation (stretching).

    The modulation of the width of the window corresponds to the succession of the sessions where we use more and more convergent or divergent prism, it is thus necessary to go gradually.

    I noticed that the modulation of the width being done in a continuous way, it allows greater performances of the occular system particularly in the divergence (relaxation des muscles).

    Start with the smallest width of the window and gradually widen.

    3.2.Traducción de textos con la api deepl

    - A hash-type block "#" {.#en:fr: } causes the translation in the source of the text itself.

  • Los códigos lingüísticos utilizados son los de dos letras, la primera es la lengua de origen y la segunda la de traducción.
  • La traducción es proporcionada por una utilidad que llama alapi_deepl.
  • La traducción puede realizarse para un bloque de texto dentro de un (el texto original se sustituye por)
  • o para un archivo completo, en cuyo caso se crea un nuevo archivo cuyo nombre es el del archivo original al que se añade el sufijo de idioma.
  • Las etiquetas no se traducen y se añade el sufijo de la lengua de traducción.
  • Si no hay ningún comentario de la etiqueta, ésta se utiliza para generar un texto que se traducirá.
  • De este modo, mantenemos el vínculo (con la declinación de diferentes sufijos de la lengua de traducción) introduce el archivo en el idioma original y los distintos archivos en el idioma de traducción.
  • Una vez realizada la traducción, la especificación de la traducción se comenta con la inserción de un punto "." como modificador de bloque.
  • Por ejemplo, la siguiente línea está siempre en inglés :

    3.2.1.Lectura asistida en una lengua extranjera


    - 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)
    Esto resulta en palabras subrayadas con puntos en la página html que tienen un tooltip que contiene la palabra traducida.

    hola el mundo

    diccionario inverso : {~fr:es: hello world }

    hola mundo

    Se ofrece como ejemplo un diccionario español-francés de aproximadamente 26.000 palabras. El usuario puede instanciar otros diccionarios.
    El usuario puede compartirlas reenviándolas al editor para que las integre en el paquete de utags.
    Si no hay un diccionario, se puede crear un diccionario de un texto mediante un comando mentor y luego se puede traducir la lista de palabras del diccionario por un traductor como deepl

    3.2.2.Ejemplo la letra de la canción 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.Tipos de etiquetas especiais


    - Una etiqueta del tipo <_es_file> generará una referencia HTML a un.
    - ejemplo :
    <lien_document_local_es_file>(/home/me/Documents/document.pdf)

    - Una etiqueta del tipo <_es_web> generará una referencia HTML a la red.
    - ejemplo :
    <alwaysdata_es_nweb>(www.alwaysdata.com)

    - si el infijo es "nweb" en lugar de [web_es]Haga clic en el enlace para abrir una nueva pestaña en el navegador.

    <alwaysdata_es_nweb>(www.alwaysdata.com)
    que da en el html : alwaysdata o lien_vers_alwaysdata_dans_un_nouvel_onglet

  • si el infijo es "webs" o "nwebs" el enlace será https en lugar de http.


    - Una etiqueta del tipo <_hil_es> para "html_inline" indica tomar el código html contenido en el bloque y añadirlo
    directamente a la página html. Se utiliza en casos especiales para generar automáticamente páginas HTML más especializadas que el simple texto
    o para incluir hojas de estilo.

    3.4.Gestão de caracteres ousados

    - Texto entre paréntesis seguido de un signo de exclamación (! aparecerá ) y la hierba.
    - ejemplo : (! texte en gras ) :
    texte en gras