Экранирование блока примера организационного режима внутри блока примера

Если я пишу об организационном режиме emacs в документе организационного режима, как мне правильно избежать примеров. например

#+BEGIN_EXAMPLE 
#+BEGIN_EXAMPLE 
* This is a heading
#+END_EXAMPLE
#+END_EXAMPLE

должен показать

#+BEGIN_EXAMPLE  
* This is a heading
#+END_EXAMPLE

но мне нужно как-то избежать #+END_EXAMPLE. В мануале не нахожу.

Спасибо!


person Kurt Schwehr    schedule 15.09.2011    source источник


Ответы (2)


Привет, думаю, вам следует использовать #begin_src org, так как вы хотите писать фрагменты организационного режима.

#+begin_src org
  ,#+BEGIN_EXAMPLE  
  ,* This is a heading
  ,#+END_EXAMPLE
#+end_src

Вы можете легко редактировать эти фрагменты с помощью M-x `org-edit-special' RET или C-c '.

person Guillaume Papin    schedule 18.09.2011
comment
Это действительно правильное решение, так как подсветка работает, а редактирование в организационном режиме действительно полезно. - person Kurt Schwehr; 23.09.2011
comment
Это первый раз, когда я узнал об экранировании некоторого синтаксиса, характерного для организации, с помощью ,. Спасибо. - person Steven Arntson; 13.09.2015
comment
Отличный ответ! - person Ugur; 27.07.2020

Если примеры короткие, вы сможете успешно экспортировать их, используя альтернативную форму для примеров (Буквальные примеры )

: #+BEGIN_EXAMPLE
: * This is a headline
: #+END_EXAMPLE

Показывает ожидаемое

#+BEGIN_EXAMPLE
* This is a heading
#+END_EXAMPLE

Конечно, если ваши примеры значительно длиннее, это будет не так удобно. Надеюсь, вам нужно избежать #+END_EXAMPLE только в коротких случаях использования (или, я полагаю, использовать прямоугольную вставку)


ИЗМЕНИТЬ:

После небольшого дополнительного тестирования вы можете подавить команды в отдельных строках, что позволит использовать более длинные примеры.

#+BEGIN_EXAMPLE
#+BEGIN_EXAMPLE
* This is a headline
,#+END_EXAMPLE
#+END_EXAMPLE

Будет экспортироваться, как и ожидалось

#+BEGIN_EXAMPLE
* This is a heading
#+END_EXAMPLE

Это также позволит вручную делать отступы блоков примеров, если вам требуется больший отступ внутри блока.

person Jonathan Leech-Pepin    schedule 15.09.2011
comment
Потрясающий! : идеально. Но как мне избежать #+END_EXAMPLE, если я просто хочу это сделать? - person Kurt Schwehr; 17.09.2011
comment
@Kurt Я пробовал только что: #+END_EXAMPLE как внутри, так и вне блока. Если я сделал это за пределами блока, я получил 2 экспортированных блока, если я сделал это внутри блока, он также экспортировал : . - person Jonathan Leech-Pepin; 17.09.2011
comment
@Kurt На самом деле использование #+END_EXAMPLE работает. Запятая также позволяет вручную делать отступы строк. Решение отредактировано для включения - person Jonathan Leech-Pepin; 17.09.2011