{"id":54,"date":"2009-04-22T04:34:39","date_gmt":"2009-04-22T02:34:39","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=54"},"modified":"2022-08-20T18:26:12","modified_gmt":"2022-08-20T16:26:12","slug":"formato-de-texto-enriquecido-en-emacs-rtf-riched-text-format","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=54","title":{"rendered":"Formato de texto enriquecido en emacs (rtf &#8211; Riched Text Format)"},"content":{"rendered":"<p>Es posible trabajar en GNU\/Emacs con formato de texto enriquecido (<strong>Riched Text Format<\/strong>, que generalmente usa la extensi\u00f3n <strong>.rtf)<\/strong>. Para quienes no lo sepan, dicho formato se emplea para mejorar o resaltar el texto plano sin necesidad de usar formatos pesados ni demasiadas opciones.<\/p>\n<p>Cuando se trabaja con un buffer en emacs mientras se emplea el modo para texto enriquecido, emacs autom\u00e1ticamente convierte el formato de <strong>text<\/strong> a <strong>text\/enritched<\/strong> a la hora de guardar el fichero en disco, por lo que emacs podr\u00e1 reconocer este formato y reconvertir el texto cuando se cargue de nuevo el fichero en un buffer, reconociendo por lo tanto el formato automaticamente.<\/p>\n<p>Para habilitar el formato de texto enriquecido tan s\u00f3lo debemos pulsar <strong>M-x enritched-mode<\/strong>. Antes de comenzar a explicar las opciones que tenemos debemos distinguir entre tipos de l\u00edneas.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Hard y soft lines<\/span><\/strong><\/p>\n<p>Emacs distingue entre dos tipos diferentes de nuevas l\u00edneas, las duras (hard lines) y las blandas (soft lines). Estas funcionalidades se pueden habilitar o deshabilitar en emacs mediante <strong>M-x use-hard-newlines<\/strong>.<\/p>\n<p>Las l\u00edneas duras (hard lines) son empleadas para separar p\u00e1rrafos u otros elementos en una lista, siempre buscando una l\u00ednea como margen. El comando <strong>intro <\/strong>(<strong>newline<\/strong>) y <strong>C-o<\/strong> (<strong>open-line<\/strong>) inserta hard lines.<\/p>\n<p>Las l\u00edneas blandas (soft lines) son usadas para ajustar texto entre m\u00e1rgenes. Todos los comandos relacionados con dichos ajustes, incluyendo <strong>Auto Fill<\/strong>, etc, s\u00f3lo eliminan soft lines.<\/p>\n<p>Las hard lines y soft lines pueden parecer lo mismo, pero es importante saber su diferencia. Es decir debemos evitar usar <strong>intro<\/strong> para &#8216;romper lineas&#8217; por la mitad para crear p\u00e1rrafos, eso crear\u00e1 barreras y problemas a la hora de dar formato a los m\u00e1rgenes para los p\u00e1rrafos. En lugar de ello, debemos usar <strong>Auto Fill mode<\/strong> para romper l\u00edneas, de esa forma si el texto o los m\u00e1rgenes cambian, emacs podr\u00e1 reorganizar las l\u00edneas de forma correcta.<\/p>\n<p>En cambio, en tablas y listas, donde las l\u00edneas siempre deben permanecer en el formato que se escribieron originalmente, debemos usar <strong>intro <\/strong>para finalizar las l\u00edneas. Para dichas l\u00edneas debemos ajustar la alineaci\u00f3n del texto a <strong>unfilled<\/strong>.<\/p>\n<p><span style=\"color: #ff6600;\"><strong>Informaci\u00f3n del formato y color<br \/>\n<\/strong><\/span><\/p>\n<p><span style=\"color: #0000ff;\"><span style=\"color: #000000;\"><strong>(sin keystroke asociada)<\/strong>: &#8216;<\/span>facemenu-remove-face-props<span style=\"color: #000000;\">&#8216;<\/span><\/span>; elimina de una regi\u00f3n las propiedades asociadas al color y letra.<br \/>\n<span style=\"color: #0000ff;\"><span style=\"color: #000000;\"><strong>(sin keystroke asociada)<\/strong>:<\/span><\/span><span style=\"color: #0000ff;\"><span style=\"color: #000000;\"> &#8216;<\/span>describe-text-properties<span style=\"color: #000000;\">&#8216;<\/span><\/span>; muestra las propiedades del texto seleccionado.<br \/>\n<span style=\"color: #0000ff;\"><span style=\"color: #000000;\"><strong>(sin keystroke asociada)<\/strong>:<\/span><\/span><span style=\"color: #0000ff;\"><span style=\"color: #000000;\"> &#8216;<\/span>list-faces-display<\/span><span style=\"color: #000000;\">&#8216;<\/span>; muestra un listado de todos las fuentes existentes.<br \/>\n<span style=\"color: #0000ff;\"><span style=\"color: #000000;\"><strong>(sin keystroke asociada)<\/strong>: <\/span><\/span><span style=\"color: #000000;\">&#8216;<\/span><span style=\"color: #0000ff;\">list-colors-display<span style=\"color: #000000;\">&#8216;<\/span><\/span>; muestra una lista de todos los colores existentes.<\/p>\n<p>As\u00ed pues se podr\u00e1 especificar un color determinado a una fuente mediante el uso de <strong>M-x facemenu-set-foreground<\/strong> y <strong>M-x facemenu-set-background<\/strong> para el color de fuente y fondo respectivamente.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Propiedades de las fuentes<\/span><\/strong><\/p>\n<p><strong>M-o d<\/strong>: &#8216;<span style=\"color: #0000ff;\">facemenu-set-default<\/span>&#8216;; elimina todas las propiedades de una regi\u00f3n, incluyendo colores o bien fuerza el siguiente car\u00e1cter a no tener definida una propiedad espec\u00edfica de fuente.<br \/>\n<strong>M-o b<\/strong>: &#8216;<span style=\"color: #0000ff;\">facemenu-set-bold<\/span>&#8216;; marca en negrita el texto de una regi\u00f3n o bien el siguiente car\u00e1cter.<br \/>\n<strong>M-o i<\/strong>: &#8216;<span style=\"color: #0000ff;\">facemenu-set-italic<\/span>&#8216;; marca en cursiva el texto de una regi\u00f3n o bien el siguiente car\u00e1cter.<br \/>\n<strong>M-o l<\/strong>: &#8216;<span style=\"color: #0000ff;\">facemenu-set-bold-italic<\/span>&#8216;; marca en negrita y cursiva el texto de una regi\u00f3n o bien el siguiente car\u00e1cter.<br \/>\n<strong>M-o u<\/strong>: &#8216;<span style=\"color: #0000ff;\">facemenu-set-underline<\/span>&#8216;; subraya el texto de una regi\u00f3n o bien el siguiente car\u00e1cter.<br \/>\n<strong> M-o o fuente<\/strong>: &#8216;<span style=\"color: #0000ff;\">facemenu-set-face<\/span>&#8216;; a\u00f1ade la fuente a una regi\u00f3n o bien en siguiente car\u00e1cter.<\/p>\n<p>Adem\u00e1s se definen dos adicionales fuentes, <strong>excerpt <\/strong>y <strong>fixed<\/strong>, empleadas para usar texto con tama\u00f1o fijo de ancho de fuente (por defecto el valor es <strong>variable-width<\/strong>). En caso de que el terminal no soporte mostrar diferentes fuentes, obviamente no ser\u00e1 visible esta diferencia, pero se conservar\u00e1 dicho valor de forma interna y emacs podr\u00e1 seguir trabajando con ellos especificando dichos valores y trabajando de forma correcta y conservando valores de forma interna en emacs para que cuando se emplee un terminal con dicho soporte sean visibles dichos cambios.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Indentaci&oacute;n<\/span><\/strong><\/p>\n<p><strong>C-x TAB<\/strong> o <strong>C-u C-x TAB<\/strong> o <strong>C-num C-x TAB<\/strong>: &#8216;<span style=\"color: #0000ff;\">increase-left-margin<\/span>&#8216; o &#8216;<span style=\"color: #0000ff;\">decrease-left-margin<\/span>&#8216; o &#8216;<span style=\"color: #0000ff;\">increase-right-margin<\/span>&#8216; o &#8216;<span style=\"color: #0000ff;\">decrease-right-margin<\/span>&#8216;; indenta la regi\u00f3n en 4 columnas. Si se prevee de un argumento, ser\u00e1 un n\u00famero espec\u00edfico de columnas dado el que incrementar\u00e1 el margen izquierdo. Si el argumento es negativo lo decrementar\u00e1 en dicho n\u00famero espec\u00edfico de columnas.<\/p>\n<p>Las variable <strong><span style=\"color: #000000;\">standard-indent<\/span><\/strong> especifica cuantas columnas deben a\u00f1adir o substraer de la identaci\u00f3n dichos comandos (su valor por defecto es 4). El valor del margen derecho es controlado por la variable <strong><span style=\"color: #000000;\">fill-column<\/span><\/strong>.<\/p>\n<p>Estos comandos se pueden adaptar al margen izquierdo y derecho de forma absoluta mediante <strong>set-left-margin<\/strong> y <strong>set-right-margin<\/strong> asociados a <strong>C-c [<\/strong> y <strong>C-c ]<\/strong> respectivamente.<\/p>\n<p>Existen momentos cuando se edita, que los p\u00e1rrafos quedan desordenados, para ello se debe emplear <strong>M-q<\/strong> que ejecutar\u00e1 el comando <strong>fill-paragraph<\/strong>.<\/p>\n<p><strong><span style=\"color: #ff6600;\">M&aacute;rgenes<\/span><\/strong><\/p>\n<p><strong>M-j l<\/strong>:<strong> <\/strong>&#8216;<span style=\"color: #0000ff;\">set-justification-left<\/span>&#8216;;<strong> <\/strong>Izquierda.<br \/>\n<strong> M-j r<\/strong>:<strong> <\/strong>&#8216;<span style=\"color: #0000ff;\">set-justification-right<\/span>&#8216;; Derecha.<br \/>\n<strong> M-j b<\/strong>:<strong> <\/strong> &#8216;<span style=\"color: #0000ff;\">set-justification-full<\/span>&#8216;; Justificado.<br \/>\n<strong> M-j c o M-S<\/strong>:<strong> <\/strong>&#8216;<span style=\"color: #0000ff;\">set-justification-center<\/span>&#8216;; Centrado.<br \/>\n<strong> M-j u<\/strong>:<strong> <\/strong> &#8216;<span style=\"color: #0000ff;\">set-justification-none<\/span>&#8216;; Sin justificaci\u00f3n.<\/p>\n<p>Los estados de m\u00e1rgenes se aplican de forma completa a p\u00e1rrafos. El valor por defecto de los m\u00e1rgenes viene dado por la variable <strong>default-justification<\/strong>.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Propiedades especiales<\/span><\/strong><\/p>\n<p>Existen propiedades especiales que al no ser estandares puede no ser interpretadas por otros entornos, sin embargo en emacs tenemos la posibilidad de trabajar partes de texto de s\u00f3lo lectura (<strong>read-only<\/strong>), <strong>invisible<\/strong>, e <strong>intangible<\/strong>, una no podr\u00e1 ser modificada, otra no ser\u00e1 mostrada y la \u00faltima no podr\u00e1 ser accedida con el cursor.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Forzando emacs para reconocer rtf proviniente de otros entornos<br \/>\n<\/span><\/strong><\/p>\n<p>Existen propiedades especiales en emacs como por ejemplo <strong>M-x format-decode-buffer<\/strong> para traducir el texto y adaptarlo al formato de texto enriquecido. Si en cambio no queremos interpretar dichos formatos de texto enriquecido podremos usar <strong>M-x find-file-literally<\/strong>. Para especificar una conversi\u00f3n de car\u00e1cteres a otro formato espec\u00edfico siempre podremos emplear <strong>M-x format-find-file<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Es posible trabajar en GNU\/Emacs con formato de texto enriquecido (Riched Text Format, que generalmente usa la extensi\u00f3n .rtf). Para quienes no lo sepan, dicho formato se emplea para mejorar o resaltar el texto plano sin necesidad de usar formatos pesados ni demasiadas opciones. Cuando se trabaja con un buffer en emacs mientras se emplea [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[8,78,79,81,80,77],"class_list":["post-54","post","type-post","status-publish","format-standard","hentry","category-basic","tag-emacs","tag-enritched","tag-enritched-mode","tag-formato-de-texto-enriquecido","tag-riched-text-format","tag-rtf"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/54"}],"collection":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=54"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions"}],"predecessor-version":[{"id":786,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/54\/revisions\/786"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=54"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=54"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=54"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}