Ich möchte Tabellen mit Headern aus Codeblöcken generieren. Etwas wie das:
#+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 |
Leider gibt es so etwas :table-header | First | Second |
nicht. Oder besser gesagt, ich hoffe, dass ich etwas übersehen habe. (Hier verwende ich (identity ...)
als Platzhalter für Code, der tatsächlich einen Wert berechnet.)
Diese Problemumgehung macht es für mich nicht ganz:
#+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 |
Ich muss den Inhalt des Codeblocks ändern und der resultierende Header ist eigentlich keine Headerzeile, sondern eine Zeile wie jede andere.
Gibt es ein spezielles Element, das das Einfügen eines Trennzeichens bewirkt (aber nicht zu 100% gleich, oben möchte ich vermeiden, dass Anweisungen zum Einrichten von Tabellen in den Codeblock eingefügt werden müssen). So etwas wie:
#+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
in der anderen Antwort , wie vorgeschlagen, es sieht aus wie ich zu öffnen Feature - Request haben werden#+BEGIN_SRC ... :colnames yes
sowie:colnames "| First | Second |"
. Bis dahin werde ich diesen Ansatz verfolgen.quote
d - Werten für alles (zB vielleicht sind Sie mit:var
Kopf- unda
,b
,c
etc. tatsächlich Variablen ab , die Sie verwenden ,list
auf), sondern nur die zitieren'hline
Symbol selbst.Nach dem Hinzufügen der Kopfzeile:
Dem
#+NAME:
Codeblock zuweisen .In
#+CALL:
Anweisung mit:colnames yes
KopfFühren Sie die
#+CALL:
Anweisung mit aus C-c C-c.Hoffe das hat geholfen!
quelle
#+NAME: same-name
. Da ich bei diesem Ansatz immer noch die Kopfzeile berücksichtigen muss, werde ich die Lösung in der anderen Antwort verwenden.