Ответ 1
В http://orgmode.org/manual/Special-symbols.html Я нашел решение проблемы с двойным интервалом:
Org
e.g.\nbsp{}example
Латекс
e.g.~example
В (La) TeX неразрывные пространства называются связями, и они создаются с помощью ~
. Связи, например, используются после аббревиатур, так что после них нет разрыва строки, и поэтому точки, заканчивающие аббревиатуры, не рассматриваются как окончательные предложения. Последнее использование важно, поскольку стандартно LaTeX ставит более длинное пространство после точек, чем между словами.
При экспорте из Org-mode в LaTeX ~
рассматривается как явный символ, а не как привязка. Игнорирование использования неразрывных пробелов не является альтернативой, поскольку приводит к неправильному интервалу (см. Второе предложение в примере выше). Один из вариантов заключается в том, чтобы заставить Org-режим обрабатывать ~
как LaTeX с #+BEGIN_LaTeX ~ #+END_LaTeX
, но он многословен и экспортируется в другие форматы. Наконец, использование неразрывных пространств UTF-8, как предлагается в http://comments.gmane.org/gmane.emacs.orgmode/24716, не работает, потому что LaTeX не рассматривает его как пробел. Итак, как я могу использовать неразрывные пробелы в Org-режиме, которые правильно экспортируются в LaTeX?
Вот пример, чтобы уточнить. Первое предложение терпит неудачу, потому что ~
рассматривается как явный символ. Второе предложение терпит неудачу, очевидно, потому что последняя точка рассматривается как завершение предложения LaTeX. Третье предложение экспортируется правильно, но оно многословно и прерывает экспорт в другие форматы. Четвертая строка (разделенная неразрывным пространством UTF-8, которая вставлена C-x 8 Space), терпит неудачу, потому что она не рассматривается как пространство LaTeX:
#+title:Title
e.g.~example
e.g. example
#+BEGIN_LaTeX
e.g.~example
#+END_LaTeX
e.g. example
Это экспортирует (C-x C-e L) в следующий код LaTeX:
e.g.\~{}example
e.g. example
e.g.~example
e.g. example
который отображается как:
Я запускаю Org-mode 7.6 в Emacs 23.3.1.
В http://orgmode.org/manual/Special-symbols.html Я нашел решение проблемы с двойным интервалом:
Org
e.g.\nbsp{}example
Латекс
e.g.~example
Ответ намечен в пределах связанного вами потока gmane. В частности, последний ответ говорит, что использовать \nbsp
в качестве вашего неразрывного пространства. Сам по себе это не сработает, так как вам понадобится пробел после \nbsp
, чтобы он распознал его как команду, а не только часть вашего текста.
Однако следующие работы (добавление к вашему списку попыток:
#+title:Title
* Test
1) e.g.~example
2) e.g. example
3)
#+BEGIN_LaTeX
e.g.~example
#+END_LaTeX
4) e.g. example
5) e.g.\nbsp example
(non-breaking \240 space between \nbsp and example)
Какие выходы в LaTeX как:
\item e.g.\~{}example
\item e.g. example
\item e.g.~example
\item e.g. example
\item e.g.~ example %\240 non-breaking between ~ and example
И это отображается как:
Я просто пересмотрел свои результаты, так как мои незапланированные пробелы не были правильно экспортированы в первый раз, и мои результаты изменились (к чему следует ожидать, а не к тому, что было показано). Новые результаты ниже, чтобы сохранить историю и сохранить смысл комментариев.
организация#+title:Title
* Test
1) e.g.~example
2) e.g. example
3)
#+BEGIN_LaTeX
e.g.~example
#+END_LaTeX
4) e.g. example %Space is non-breaking
5) e.g.\nbsp example %Space is non-breaking
Латекс
\item e.g.\~{}example
\item e.g. example
\item e.g.~example
\item e.g. example %Space is non-breaking
\item e.g.~ example %Space is non-breaking
Вынесено
Это соответствует заявленному двойному интервалу (а также нераспространяющемуся пространственному экспорту)
Все остальные ответы хорошо работают, однако я хотел бы упомянуть org-entities
ради полноты. Более того, поскольку вы можете использовать этот механизм для создания более общих пользовательских настроек экспорта, а также для поддержки нескольких бэкэндов.
Установите org-entities
примерно так:
(setq org-entities-user
'(("space" "~" nil " " " " " " " ")))
Следующий источник Org:
E.g.\space{}a, b, c
экспортирует в LaTeX как:
E.g.~a, b, c
и экспортирует в HTML как:
<p>
E.g. a, b, c</p>
В заголовок моего документа/шаблона/скелета я включил следующее:
\#+LaTeX_HEADER: \DeclareUnicodeCharacter{00A0}{~}
И я использую C-x 8 SPC
, чтобы вставить незанятое пространство unicode в тексте. Это должно работать на экспорт в LaTeX или HTML.
Макрос DeclareUnicodeCharacter
определяется в файле utf8.def
(файл, используемый inputenc
для определения отображения utf8), чтобы определить значение символов Unicode. Первый аргумент - это шестнадцатеричный код для символа, а второй - это замещающий код LaTeX.
Неразрывное пространство U+00A0
, поэтому первым аргументом является 00A0. В LaTeX создается неразрывное пространство с тильдой, поэтому второй аргумент представляет собой одну тильду.