如何在Org-mode中使用带有LaTeX导出的csquotes?

时间:2012-01-29 12:50:07

标签: emacs latex org-mode

当使用csquotes时,csquotes会根据上下文添加引号。这是通过使用\enquote宏标记引号来完成的,即\enquote{text}

从组织模式导出到LaTeX时,引号标记为``'',例如为``text''

Org-mode是否可以使用\enquote

标记的引号导出到LaTeX

我发现http://comments.gmane.org/gmane.emacs.orgmode/43689这样的功能正在计划中,但我不明白它是否已实施。


相关说明有integration of csquotes in AUCTeX。集成是当文档加载csquotes时," 分别扩展为\enquote{}。这不是我要求的,但可能有一些代码可能有兴趣设置组织模式以导出由\enquote标记的引用。

2 个答案:

答案 0 :(得分:4)

在该线程结束之后,然后查看7.7的更新日志(请参阅Headline for version 7.7)版本,我发现他们添加了变量org-latex-export-quotes。我不完全确定如何定制,但我怀疑它必须如下结束:

原创(包括因为它只出现在7.7,我相信你正在运行7.6):

(defcustom org-export-latex-quotes
  '(("fr" ("\\(\\s-\\|[[(]\\)\"" . "«~") ("\\(\\S-\\)\"" . "~»") ("\\(\\s-\\|(\\)'" . "'"))
    ("en" ("\\(\\s-\\|[[(]\\)\"" . "``") ("\\(\\S-\\)\"" . "''") ("\\(\\s-\\|(\\)'" . "`")))
  "Alist for quotes to use when converting english double-quotes.

The CAR of each item in this alist is the language code.
The CDR of each item in this alist is a list of three CONS:
- the first CONS defines the opening quote;
- the second CONS defines the closing quote;
- the last CONS defines single quotes.

For each item in a CONS, the first string is a regexp
for allowed characters before/after the quote, the second
string defines the replacement string for this quote."

要:

(setq org-export-latex-quotes
  '(("en" ("\\(\\s-\\|[[(]\\)\"" . "\\enquote{") ("\\(\\S-\\)\"" . "}") ("\\(\\s-\\|(\\)'" . "`"))))

我刚测试了这个,它确实按预期运行。示例文件:

* test
this is a test of "this"

导出为(前言省略):

\section{test}
\label{sec-1}

this is a test of \enquote{this}

我不知道是否可以在7.6中轻松添加此功能,更容易的解决方案可能是升级。否则,7.6中更简单的解决方案可能是创建自定义链接(请参阅:Org Tutorials)。这不会那么快,但可以在7.6提供的功能中提供所需的结果。

答案 1 :(得分:4)

@ N,N-。和其他人一样,org 8.0中的新组织模式导出功能有一个名为org-export-smart-quotes-alist的列表。您可以将以下内容添加到init.el中,它会将常规"双引号转换为enquote{},将'单引号转换为enquote*{}

(add-to-list 'org-export-smart-quotes-alist 
             '("am"
               (primary-opening   :utf-8 "“" :html "“" :latex "\\enquote{"  :texinfo "``")
               (primary-closing   :utf-8 "”" :html "”" :latex "}"           :texinfo "''")
               (secondary-opening :utf-8 "‘" :html "‘" :latex "\\enquote*{" :texinfo "`")
               (secondary-closing :utf-8 "’" :html "’" :latex "}"           :texinfo "'")
               (apostrophe        :utf-8 "’" :html "’")))

警告:如果您希望使用org文件的语言,请确保将org-export-default-language设置为"am"(或者您选择在上述表单中使用的任何内容),或者将相应的#+LANGUAGE: am行放在组织文件的顶部。如果不这样做,组织导出器将不会调用上述内容。