Je voudrais générer des tables qui ont des en-têtes à partir de blocs de code. Quelque chose comme ça:
#+BEGIN_SRC emacs-lisp :results value table :table-header | First | Second |
(identity '((a b) (c d)))
#+END_SRC
#+RESULTS:
| First | Second |
|-------+--------|
| a | b |
| c | d |
Malheureusement, quelque chose comme :table-header | First | Second |
ça n'existe pas. Ou plutôt j'espère que j'oublie quelque chose. (Ici, j'utilise (identity ...)
comme un espace réservé pour le code qui calcule réellement une valeur.)
Cette solution de contournement ne le fait pas tout à fait pour moi:
#+BEGIN_SRC emacs-lisp :results value table
(cons (list "First" "Second")
(identity '((a b) (c d))))
#+END_SRC
#+RESULTS:
| First | Second |
| a | b |
| c | d |
Je dois modifier le contenu du bloc de code et l'en-tête résultant n'est pas en fait une ligne d'en-tête, c'est une ligne comme les autres.
En rapport avec cela (mais pas à 100% de la même manière, ci-dessus, j'aimerais éviter d'avoir à mettre des instructions de configuration de table à l' intérieur du bloc de code, en dessous de ce qui est requis), y a-t-il un élément spécial qui provoque l'insertion d'un séparateur? Quelque chose comme:
#+BEGIN_SRC emacs-lisp :results value table
(nconc (identity '((a b) (c d))) ; calculated value A
(list 'linebreak) ; explicitly inserted linebreak
(identity '((A B) (C D)))) ; calculated value B
#+END_SRC
#+RESULTS:
| a | b |
| c | d |
|---+---|
| A | B |
| B | D |
:colnames
comme suggéré dans l'autre réponse, il semble que je devrais ouvrir la demande de fonctionnalité pour#+BEGIN_SRC ... :colnames yes
ainsi que:colnames "| First | Second |"
. Jusque-là, je vais suivre cette approche.