{"id":83,"date":"2009-12-08T14:23:41","date_gmt":"2009-12-08T12:23:41","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=83"},"modified":"2022-08-20T18:26:02","modified_gmt":"2022-08-20T16:26:02","slug":"org-mode-tablas","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=83","title":{"rendered":"Org-mode : Tablas"},"content":{"rendered":"<p style=\"text-align: justify;\">Debido a la extension de <strong>org-mode<\/strong> y la importancia que esta teniendo con todo el proceso activo de desarrollo, he decidido dividir el post de <strong>org-mode<\/strong> segun el tema tratado. En este primer post hablare de como trabajar con tablas en <strong>org-mode<\/strong>.<\/p>\n<p><span style=\"color: #ff6600;\"><strong>Definicion de tablas<\/strong><\/span><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">Las tablas en <strong>org-mode<\/strong> se tratan en <strong>ASCII plano<\/strong>, cada linea que comience por &#8216;<strong>|<\/strong>&#8216; (<strong>pipe<\/strong>) sera considerada parte de una tabla. Dicho simbolo se considerara el <strong>separador de columna<\/strong>. Las tablas son re-alineadas cada vez que se pulsa <strong>TAB<\/strong> o <strong>INTRO<\/strong> o <strong>C-c C-c<\/strong> dentro de la tabla. <strong>TAB<\/strong> tambien se emplea para moverse al <strong>siguiente campo<\/strong> e <strong>INTRO <\/strong>para moverse a la <strong>siguiente columna<\/strong>.<\/p>\n<p style=\"padding-left: 30px;\">Para crear una tabla debemos escribir por ejemplo:<\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #008080;\">|Name|Phone|Age|<br \/>\n|-<\/span><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">Y pulsar <strong>TAB<\/strong> para crear la tabla o bien se puede escribir directamente <span style=\"color: #008080;\">|Name|Phone|Age<\/span> y presionar <strong>C-c INTRO<\/strong>.<\/p>\n<p style=\"padding-left: 30px; text-align: justify;\"><strong>DEL<\/strong> y <strong>Backspace<\/strong> se emplean para <strong>eliminar campos<\/strong>.<strong> S-TAB<\/strong> o <strong>INTRO<\/strong> se emplean para dejar el<strong> campo en blanco<\/strong>.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Creacion<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">\n<ul>\n<li>\n<li><strong>C-c |<\/strong> : Convierte una region activa en una tabla, tomando los <strong>TAB<\/strong> como separaciones o usando <strong>CSV<\/strong>, en caso de no encontrar ninguno de los dos usara los espacios como separador.<\/li>\n<li><strong>C-u C-c<\/strong><strong> |<\/strong> : Fuerza el uso de <strong>CSV<\/strong>.<\/li>\n<li><strong>C-u C-u C-c |<\/strong> : Fuerza el uso de <strong>TAB<\/strong>.<\/li>\n<li><strong>C-numero C-c |<\/strong> : Fuerza el uso de un <strong>numero determinado de espacios<\/strong>.<\/li>\n<ul><\/ul>\n<\/li>\n<\/ul>\n<p><strong><span style=\"color: #ff6600;\">Alineacion<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">\n<ul>\n<li>\n<li><strong>C-c C-c<\/strong> : Re-alinea una tabla sin mover el cursor.<\/li>\n<li><strong>TAB<\/strong> : Re-alinea una tabla, moviendo el cursor al siguiente campo creando una nueva fila si es necesario.<\/li>\n<li><strong>S-TAB<\/strong> : Re-alinea una tabla moviendose a la fila anterior.<\/li>\n<li><strong>INTRO<\/strong> : Re-alinea una tabla y se desplaza a la siguiente fila creando una nueva fila si es necesario o separando una tabla en dos si se efectua entre dos filas.<\/li>\n<li><strong>M-a<\/strong> : Se desplaza al <strong>campo anterior<\/strong>.<\/li>\n<li><strong>M-e<\/strong> : Se desplaza al <strong>siguiente campo<\/strong>.<\/li>\n<ul><\/ul>\n<\/li>\n<\/ul>\n<p style=\"text-align: justify;\"><strong><span style=\"color: #ff6600;\">Edicion de filas y columnas<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">\n<ul>\n<li><strong>M-&lt;&#8211;<\/strong> o <strong>M&#8211;&gt;<\/strong> : Se desplaza una columna a la izquierda\/derecha.<\/li>\n<li><strong>M-S-&lt;&#8211;<\/strong> : Elimina la columna actual.<\/li>\n<li><strong>M-S&#8212;&gt;<\/strong> : Inserta una nueva columa a la derecha del cursor.<\/li>\n<li><strong>M-up<\/strong> o <strong>M-down<\/strong> : Se desplaza a la fila anterior\/posterior.<\/li>\n<li><strong>M-S-up<\/strong> : Elimina la fila actual.<\/li>\n<li><strong>M-S-down<\/strong> : Inserta una nueva fila sobre la fila actual. Si se emplea con el prefijo, la creara debajo.<\/li>\n<li><strong>C-c &#8211;<\/strong> : Inserta una linea horizontal para la fila actual. Si se emplea con el prefijo insertara la linea horizontal encima de la linea actual.<\/li>\n<li><strong>C-c INTRO<\/strong> : Inserta una linea horizontal debajo de la fila actual y mueve el cursor a dicha fila.<\/li>\n<li><strong>C-c ^<\/strong> : Ordena la region de una tabla (alfabeticamente, numericamente o por fecha). Si es llamado con un argumento lo hara case-sensitive.<\/li>\n<\/ul>\n<p><strong><span style=\"color: #ff6600;\">Regiones<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px;\">\n<ul>\n<li><strong>C-c C-x M-w<\/strong> : Copia una region de una tabla e ignora los puntos y marcas que determinan la tabla. &#8216;Copiar&#8217;.<\/li>\n<li><strong>C-c C-x C-w<\/strong> : Copia una region de una tabla y deja en blanco todos los campos del rectangulo. &#8216;Cortar&#8217;.<\/li>\n<li><strong>C-c C-x C-y<\/strong> : Pega una region en una tabla y redimensiona la tabla si es necesario. &#8216;Pegar&#8217;.<\/li>\n<li><strong>M-INTRO<\/strong> : Ajusta en distintas lineas columnas que excedan el ancho. Si se realiza sobre una region el texto sera ajustado a la region minima del ancho dado especificando un numero de filas deseadas mediante prefijos. Si se realiza fuera de una region el campo actual sera dividido en la posicion donde se encuentre el cursor o bien si se realiza fuera de una region y usando prefijos dejara el campo en blanco y el contenido del mismo quedara en el campo previo.<\/li>\n<\/ul>\n<p><strong><span style=\"color: #ff6600;\">Calculos<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px;\">\n<ul>\n<li><strong>C-c +<\/strong> : Suma los numeros de la columna actual, de un rectangulo definido o bien de una region activa, el resultado es mostrado en &#8216;echo area&#8217; o minibuffer y puede ser insertado con<strong> C-y<\/strong>.<\/li>\n<li><strong>S-INTRO<\/strong> : Cuando el campo actual esta vacio, copia desde el primero que no lo esta, si no esta vacio copiara el campo actual. Lo pegara en la siguiente fila y movera el cursor a ella. Valores enteros seran incrementados durante dicha copia (campos autonumericos) excepto si son demasiado grandes. Usando argumentos con prefijo 0 deshabilitara el incremento.<\/li>\n<\/ul>\n<p><strong><span style=\"color: #ff6600;\">Miscelanea<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">\n<ul>\n<li><strong>C-c `<\/strong> : edita el campo actual en una ventana distinta. Usando el prefijo <strong>C-u<\/strong> hara que se vea el campo de forma completa.<\/li>\n<li><strong>M-x org-table-import<\/strong> : importa una tabla de un fichero. La tabla debe usar <strong>TAB<\/strong> o espacios como separadores.<\/li>\n<li><strong>C-c |<\/strong> : importa una tabla usando pegado de texto tabular (<strong>C-x C-x<\/strong>).<\/li>\n<li><strong>M-x org-table-export<\/strong> : exporta una tabla a un fichero. La tabla usara el <strong>TAB<\/strong> por defecto como separador.<\/li>\n<\/ul>\n<p style=\"padding-left: 30px; text-align: justify;\">Para deshabilitar el editor automatico de tablas podemos anadir a nuestro <strong>.emacs<\/strong>:<\/p>\n<p style=\"text-align: justify; padding-left: 60px;\"><span style=\"color: #0000ff;\"><em>(setq org-enable-table-editor nil)<\/em><\/span><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">De aqui en adelante solo <strong>C-c C-c<\/strong> hara una re-alineacion manual.<\/p>\n<p><strong><span style=\"color: #ff6600;\">Columnas estrechas<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">El ancho de la columna es determinado por el editor de tablas. Para limitar el ancho de una columna debemos tener un campo llamando &#8216;<strong>&lt;N&gt;<\/strong>&#8216; donde <strong>N<\/strong> es el ancho maximo de caracteres por columna. Las columnas que sean mas anchas se acortaran y anadiran \u00ab<strong>=&gt;<\/strong>\u00bb indicando que hay mas texto, que podra ser mostrado mediante <strong>C-c `<\/strong> (que edita) o mediante un <strong>tooltip<\/strong>. Para salir de la edicion deberemos pulsar <strong>C-c C-c<\/strong>.<\/p>\n<p style=\"padding-left: 30px;\">Podemos colocar alineacion automatica al inicio medinate<strong> org-startup-align-all-tables<\/strong> o en el fichero de arranque mediante:<\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #ff00ff;\"><span style=\"color: #008080;\">#+STARTUP: align<\/span><\/span><span style=\"color: #008080;\"><br \/>\n#+STARTUP: noalign<\/span><\/p>\n<p><strong><span style=\"color: #ff6600;\">Grupos de columnas<\/span><\/strong><\/p>\n<p style=\"padding-left: 30px;\">Es posible usar tipos especiales de columnas y agruparlos si la primera columna comienza por &#8216;<strong>\/<\/strong>&#8216; para indicar que queremos agrupaciones; &#8216;<strong>&lt;<\/strong>&#8216; indicara el inicio de grupo, &#8216;<strong>&gt;<\/strong>&#8216; el final del grupo, &#8216;<strong>&lt;&gt;<\/strong>&#8216; indica su propio grupo (uno solo).<\/p>\n<p><span style=\"color: #ff6600;\"><strong>Org-table como modo menor<\/strong><\/span><\/p>\n<p style=\"padding-left: 30px;\">Tan solo debemos anadir a nuestro<strong> .emacs<\/strong>:<\/p>\n<p style=\"padding-left: 60px;\"><span style=\"color: #0000ff;\"><em>(add-hook &#8216;mail-mode-hook &#8216;turn-on-orgtbl)<\/em><\/span><\/p>\n<p style=\"padding-left: 30px; text-align: justify;\">Esto tiene utilidad si queremos construir por ejemplos tablas mediante el uso de <strong>LaTeX<\/strong>, etc&#8230; pudiendo asi combinar un modo mayor para un lenguaje o similar al mismo tiempo que se usan tablas de org como modo menor.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Debido a la extension de org-mode y la importancia que esta teniendo con todo el proceso activo de desarrollo, he decidido dividir el post de org-mode segun el tema tratado. En este primer post hablare de como trabajar con tablas en org-mode. Definicion de tablas Las tablas en org-mode se tratan en ASCII plano, cada [&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,149,145,150,146,148,147],"class_list":["post-83","post","type-post","status-publish","format-standard","hentry","category-basic","tag-emacs","tag-org","tag-org-mode","tag-organizacion","tag-orgmode","tag-tablas","tag-tables"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/83"}],"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=83"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions"}],"predecessor-version":[{"id":771,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions\/771"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}