Envelopper le contenu des cellules dans une table en mode organisation


12

J'ai une table comme celle-ci:

| Verse No | Verse      |
|          | <10>       |
|        1 | line1 li=> |
|        2 | line2 li=> |

J'aimerais le voir comme

| Verse No | Verse      |
|          | <10>       |
|        1 | line1 line |
|          | 1 line1    |
|        2 | line2 line |
|          | 2 line2    |

Je suis au courant C-c `mais cela ne suffit pas, je veux voir tout le texte simultanément. La lecture seule est OK si nécessaire.


Voyez si ma réponse ici aide.
Joe

Réponses:


20

org-mode a 2 formats de table, la valeur par défaut org-tableet l'autre l'est table.el.

L'habillage des cellules est disponible pour les tableaux au table.elformat.

Essaye ça

  1. Supprimez la ligne supplémentaire avec <10>pour que votre tableau ressemble à l'exemple ci-dessous:

    | Verse No | Verse             |
    |        1 | Line1 Line1 Line1 |
    |        2 | Line2 Line2 Line2 |
    

    Conseil: ajoutez une ligne vierge au-dessus et en dessous du tableau. Les lignes vides devraient empêcher un bogue lors de la conversion de la table avec C-c ~. Merci à @ComproPrasad pour le dépannage et la solution de contournement.

  2. Placez votre curseur, alias le point, dans le tableau mis à jour, puis tapez C-c ~et répondez y. Le tableau mis à jour doit ressembler à l'exemple ci-dessous:

    +----------+-------------------+
    | Verse No | Verse             |
    +----------+-------------------+
    |        1 | Line1 Line1 Line1 |
    +----------+-------------------+
    |        2 | Line2 Line2 Line2 |
    +----------+-------------------+
    
  3. Placez votre curseur dans le tableau mis à jour, puis tapez C-c 'et une nouvelle fenêtre ou un nouveau cadre apparaîtra.

  4. Tapez M-x t-r-tet chaque cellule du tableau doit être mise en surbrillance.

  5. Placez votre curseur à l'intérieur de la deuxième colonne et tapez C-c C-c <jusqu'à ce que la colonne ait la largeur souhaitée.

    Conseil: utilisez la liaison de clé d'argument universel C-upour répéter rapidement cette étape. Par exemple, si votre cellule contient 500 caractères et que vous souhaitez ajuster la largeur à 10 caractères C-u 490 C-c C-c <, répétez la C-c C-c <commande 490 fois.

  6. Tapez C-c 'pour terminer la modification du tableau. Ces étapes devraient vous laisser un semblable à l'exemple ci-dessous:

    +----------+------+
    | Verse No | Verse|
    +----------+------+
    |        1 |Line1 |
    |          |Line1 |
    |          |Line1 |
    +----------+------+
    |        2 |Line2 |
    |          |Line2 |
    |          |Line2 |
    +----------+------+
    

Merci d'avoir posé votre question!
J'espère que cela a aidé!


Cette réponse a été testée à l'aide de:
version emacs: GNU Emacs 25.2.1 (x86_64-unknown-cygwin, GTK + version 3.22.10)
version org: mode Org version 9.1.2


1
L'étape 4 n'est pas nécessaire (au moins dans emacs actuel v. 26). Appuyez sur Cc ~ à l'étape 7 pour reconvertir la table table.el en table org modifiable.
Heikki

@Heikki Bon à savoir! Merci! Sur la v.25, je devais ajouter l'étape 4 car la table n'était pas reconnue mais ne lançait aucune erreur non plus. Vouliez-vous que j'ajoute l'étape 7 C-c ~pour reconvertir au org-tableformat?
Melioratus

1
Existe-t-il une option pour accélérer l'étape 5, par exemple lorsque j'ai 500 caractères de contenu et que je veux les regrouper en 10 caractères?
user2740


1
qu'est-ce que l'étape 4? Est un t-r-traccourci pour une autre commande? J'ai constaté que lorsque vous traitez des tableaux contenant du texte avec des liens incorporés, après l'étape 3, seuls les en-têtes de colonne sont sélectionnés, et j'ai besoin d'un moyen pour sélectionner chaque cellule du tableau, comme à l'étape 4. Cependant, je ne sais pas à quoi l'étape 4 se réfère réellement, car M-x t-r-tne montre rien pour moi avec le mode org 9.1.9
adamc

6

Ajuster la largeur de colonne avec enrouler

Voici une solution adaptée pour le mode org 9.1.13, Spacemacs (0.200.13), emacs 26.1 pour plus de commodité.

En commençant par le contenu suivant dans un tampon en mode organisation:

| Verse No | Verse             |
|        1 | Line1 Line1 Line1 |
|        2 | Line2 Line2 Line2 |

doit laisser un NEWLINE au-dessus du tableau ci-dessus pour éviter le bogue de table.el.

  1. Convertissez la table au format table.el par Cc ~ +----------+-------------------+ | Verse No | Verse | +----------+-------------------+ | 1 | Line1 Line1 Line1 | +----------+-------------------+ | 2 | Line2 Line2 Line2 | +----------+-------------------+
  2. Ajustez directement la largeur de colonne par SPC u 10 SPC SPC table-narrow-cell +----------+---------+ | Verse No | Verse | +----------+---------+ | 1 | Line1 | | |Line1 | | |Line1 | +----------+---------+ | 2 | Line2 | | |Line2 | | |Line2 | +----------+---------+

Cela fonctionne pour ma configuration sans entrer en mode table.el. Avec mes spacemacs, Cu 10 Cc Cc <ne fonctionne pas.


Ma nouvelle configuration de spacemacs ne fonctionne plus avec la solution ci-dessus. Mais j'ai trouvé cela en conventant au format table.el, alors je peux ajuster manuellement le retour à la ligne. Après une édition manuelle, je peux le reconvertir et obtenir les enveloppes souhaitées.
Yu Shen

1
SPC u 10n'est pas requis. 10le préface automatiquement C-u 10- (Emacs 27.0.50, Spacemacs 9.0.)
Gavin

4

Une fois que vous avez suivi la réponse acceptée et fixé la taille d'une longue colonne dans un tableau existant, le basculement du mode table à largeur fixe par M-x table-fixed-width-modesemble faire l'affaire d'habillage automatique (futures) de longues lignes de texte dans une colonne du tableau modifier mode. Vous entrez en mode d'édition de table en tapantC-c '

Testé sur: Emacs 25.2.2, Org-Mode 9.1.6

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.