Лучший способ представить бок о бок текст в режиме Org - PullRequest
1 голос
/ 01 мая 2020

Я ищу хороший способ представить текст рядом друг с другом как в буфере режима Org, так и в экспортированном документе. Вот пример, показывающий два подхода, которые я попробовал:

#+options: html-postamble:nil
#+options: toc:nil num:nil tags:nil ^:{}
* if statements
- Presented as an Org mode =example=:
  #+begin_example
  Ada             |   C              |   Pascal          |   Lisp
  ===             |   =              |   ======          |   ====
  if B1 then      |   if (B1) {      |   if B1 then      |   (if B1 (progn
     S1;          |      S1;         |      S1           |      (S1))
  elsif B2 then   |   } else {       |   else            |      (if B2 (progn
     S2;          |      if (B2) {   |      if B2 then   |         (S2))
  else            |         S2;      |         S2        |         (S3)))
     S3;          |      } else {    |      else         |
  end if;         |         S3;      |         S3        |
                  |      }           |      end          |
                  |   }              |   end             |
#+end_example
- Presented as an Org mode =table=:
  #+macro: lf     @@latex:\hspace{0pt}\\@@ @@html:<br>@@
  #+macro: nbsp   @@latex:\hspace{1em}@@ @@html:&nbsp;@@
  #+macro: indent {{{nbsp}}}{{{nbsp}}}
  | Ada                                                                                                                             | C                                                                                                                                                                                                     | Pascal                                                                                                                                                                                                   | Lisp                                                                                                                                               |
  | <l>                                                                                                                             | <l>                                                                                                                                                                                                   | <l>                                                                                                                                                                                                      | <l>                                                                                                                                                |
  |---------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------|
  | /                                                                                                                               | <                                                                                                                                                                                                     | <                                                                                                                                                                                                        | <                                                                                                                                                  |
  | if B1 then{{{lf}}}{{{indent}}}S1;{{{lf}}}elsif B2 then{{{lf}}}{{{indent}}}S2;{{{lf}}}else{{{lf}}}{{{indent}}}S3;{{{lf}}}end if; | if (B1) {{{{lf}}}{{{indent}}}S1;} else {{{{lf}}}{{{indent}}}if (B2) {{{{lf}}}{{{indent}}}{{{indent}}}S2;{{{lf}}}{{{indent}}}} else {{{{lf}}}{{{indent}}}{{{indent}}}S3;{{{lf}}}{{{indent}}}}{{{lf}}}} | if B1 then{{{lf}}}{{{indent}}}S1{{{lf}}}else{{{lf}}}{{{indent}}}if B2 then{{{lf}}}{{{indent}}}{{{indent}}}S2{{{lf}}}{{{indent}}}else{{{lf}}}{{{indent}}}{{{indent}}}S3{{{lf}}}{{{indent}}}end{{{lf}}}end | (if B1 (progn{{{lf}}}{{{indent}}}(S1)){{{lf}}}{{{indent}}}(if B2 (progn{{{lf}}}{{{indent}}}{{{indent}}}(S2)){{{lf}}}{{{indent}}}{{{indent}}}(S3))) |

Конечно, никто не захочет писать эту вторую версию.

Вот как документ выглядит экспортированным как HTML: Exported as HTML

Есть ли лучший способ сделать это?

...