Код блоктарынан тақырыптары бар кестелерді жасау

Код блоктарынан тақырыптары бар кестелерді жасағым келеді. Сол сияқты бірнәрсе:

#+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      |

Өкінішке орай, : table-header | Бірінші | Екінші | жоқ. Немесе бір нәрсеге қарап тұрмын деп үміттенемін. (Мұнда мәнді нақты есептейтін код үшін толтырғыш ретінде (identity ...) пайдаланамын.)

Бұл қиындықтар мен үшін жасамайды:

#+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      |

Мен код блогының мазмұнын өзгертуге тура келеді, ал кейінгі тақырып - шынымен тақырып жолына жатпайды, оның кез келгені сияқты.

Осыған байланысты (бірақ 100% емес, ең жоғарыда, кесте орнату нұсқауларын ішінде код блогы, қажет болған жағдайда) болдырмауды қаламайды, онда кірістіруді тудыратын арнайы элемент бар ма? бөлгіш? Бір нәрсе:

#+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 |
9

2 жауаптар

Тек linebreak орнына hline пайдаланыңыз. Келесі жұмыстар:

* test
#+BEGIN_SRC emacs-lisp :results value table
  '(("First" "Second")
    hline
    (a b) (c d))
#+END_SRC

#+RESULTS:
| First | Second |
|-------+--------|
| a     | b      |
| c     | d      |
10
қосылды
Басқа жауапта ұсынылғандай : colnames сөзімен ойнағаннан кейін, # + BEGIN_SRC ...: colnames yes үшін функционалды сұрауды ашуым керек сияқты ретінде : colnames «| Бірінші | екінші |» . Содан бері мен бұл тәсілмен айналысамын.
қосылды автор num1, көзі
Егер сіз кез-келген адамға пайдалы қосымша деп тапсаңыз, онда: quote d мәндерін пайдаланбасаңыз (мысалы, : var тақырыбын және < b , c және т.б.) тізімін қолданатын айнымалы мәндер пайда болады) код> 'hline белгісінің өзі.
қосылды автор sempaiscuba, көзі

Тақырып жолын қосқаннан кейін:

  1. Assign #+NAME: to code block.

    #+NAME: needs-a-table-header
    #+BEGIN_SRC emacs-lisp :results value table 
      (cons (list "First" "Second")
            (identity '((a b) (c d))))
    #+END_SRC
    
  2. Add #+CALL: statement with :colnames yes header

    #+CALL: needs-a-table-header() :colnames yes 
    
  3. Run #+CALL: statement using C-c C-c.

    #+RESULTS:
    | First | Second |
    |-------+--------|
    | a     | b      |
    | c     | d      |
    

Бұл көмектесті деп үміттенемін!


Коды

арқылы сыналған      

GNU Emacs 24.5.1 (x86_64-unknown-cygwin, GTK + нұсқасы 3.14.13)
  org-нұсқасы: 8.3.2

2
қосылды
Рахмет. Екі кестенің болуын болдырмау үшін # + NAME: same-name -бен код блогын және қоңырауды алдын-ала алдым. Мен осы тәсілді пайдаланған кезде тақырып жолын әлі де өзгелерден қорғауға тура келетіндіктен, басқа жауапта шешімді шешемін.
қосылды автор num1, көзі
@tarsius Жаңарту үшін рахмет! BTW осы сұрақты сұрағаныңыз үшін рақмет! Кесте тақырыбын қосудың бірнеше тәсілдерін білемін, олар пайдалы бола алады. Мен өз жазбаларымды басқа жауапты қарап шығады.
қосылды автор Draco18s, көзі