2013-05-08 13 views
5

orgモードでテキストをモノスペースのようにそのまま書式化する場合は、~...~、引用符の内側にある場合は~"..."~、フォーマットされません(そのままの状態)。二重引用符をエスケープするにはどうすればよいですか?

また、引用符はそうならば、彼らが何を意味するか、予約済みのシンボルですか? (生成されるHTML/Emacsのディスプレイには影響しないようです)。

+0

黙って何かを変えるのは矛盾ではありませんか? –

答えて

7

この場合、犯人は、文書内の文字の並びがそのままかどうかを設定するかどうかを判断する責任、 org-emph-re org-verbatim-reで正規表現です。

org-verbatim-reは `org.el 'で定義された変数です。 その値は "\([(\ ')\ |^\] \(\([=〜] \)\([^
\ n、\"'] \ | [
\ \ "、\"、\ "、\"、\ "、\"、\ "、\"、 !?:; '\ ")} \] \ | $ \)"

引用符と二重引用符は、明示的に

[^ 
\n,\"']\|[^ 
\n,\"'] 

によって=~逐語的な文字の内部で禁止されています私は議論が来て3年さかのぼるました終わりまであなたは、この正規表現をいじくり回すと(多分、ファイルのローカル変数が同様に動作します)あなたのemacsの設定であなたの希望にマッチするものに変数org-emph-re/org-verbatim-reを設定する必要がシオン。あなたはのように除いた文字クラスと外部の試合から二重引用符を除外することで試すことができ

「\([( '{] \ |^\)\(\([*/_ =〜+] \) \([^
\ n '] \ | [^
\ n'] \(:???\ N \)\ {0,1 \} [^
\ N、 ]] \)\ 3 \)\([ - 。、:!?; ')} \] \ | $ \) "

しかし、その正規表現を見れば、お試しください...

を編集すると、以下のように評価した場合、=の中の引用符は正しくエクスポートされますが、他には何もありません:-)、私はもっと時間があればさらに調査します。

(setqのORG-EMPH-RE「\([( '{] \ |^\)\(\([*/_ =〜+] \)\([^ \ nは、'] \ | [^ \ nは、 '] \(:\ n.?\)\{0,1\}[^ \ nは、?。?'] \)\ 3 \)\([ - 、:。 !?; ')}] \ | $の\) ")

編集2::それは直接org.elを変更することで動作するようになった:

変更ラインを'(" \t('\"{" "- \t.,:!?;'\")}\\" " \t\r\n,\"'" "." 1)'(" \t('{" "- \t.,:!?;')}\\" " \t\r\n,'" "." 1)から(defvar org-emphasis-regexp-componentsと再コンパイル次orgを開き、emacsを再起動します。

これは、8.0リリースより前のdefcustomでした。これはもはやではありません。したがって、このマニュアルの変更を行う必要があります。

に関して、 トム最後

2

が、私はそのスレッドによるとhttp://comments.gmane.org/gmane.emacs.orgmode/82571

から解決策を見つけ、そのままのための正規表現は、国境で​​、後に、前に法的な文字を定義する変数org-emphasis-regexp-components、から構築されています強調の本文の、またはその中にある。逐語的には、orgモードの強調環境の1つです。

そのスレッドによって与えられた作業可能な設定:

(setcar (nthcdr 2 org-emphasis-regexp-components) " \t\n,") 
(custom-set-variables `(org-emphasis-alist ',org-emphasis-alist)) 
2

私は同様の問題に会った、と感謝は、基本的なソリューションを@chaiko。しかし、@ chaikoのソリューションは、org-modeのフォントのためにのみ機能し、org-exportには影響しません。正しいエクスポートされたドキュメントを取得するには、org-modeのパーサーにもう一度、ハーフハイクを行う必要があります((org-element--set-regexps))。

だから、完全なコードスニペットのようなものでなければなりません:https://github.com/xiaohanyu/oh-my-emacs/blob/e82fce10d47f7256df6d39e32ca288d0ec97a764/core/ome-org.org#code-block-fontification:私は私のOH-MY-emacsのプロジェクトにこれを統合した

(setcar (nthcdr 2 org-emphasis-regexp-components) " \t\n\r") 
(custom-set-variables `(org-emphasis-alist ',org-emphasis-alist)) 
(org-element--set-regexps) 

。 Emacsの中にいくつかの不要な効果を持つ文字の少量のために

1

ORG-モード(というメタキャラクタので)ORG-モード(org-entities.el)でspecial symbolsを見ておくと便利かもしれません。

したがって、"は、\quot{}でエンコードできます(末尾の中カッコのペアは必須ではありませんが、空白がない場合は必要です)。

代わりに="..."=と入力すると、=\quot{}...\quot{}=と表示されます。

これはいくつかの入力が多く、かなり醜いです。しかし、後者のorg-modeには解決策があります:C-c C-x \によって、これらのシンボルの表示魔法を切り替えることができます。魔法がアクティブな場合は、直接入力した後に\quot{} resp。 \quot{} a "が表示されます。

さらに、このシンボルリストは簡単に拡張することができます。

(add-to-list 'org-entities 
'("backslash" "\\textbackslash" nil "\\" "\\" "\\" "\\")) 

それでも私は頻繁に上記の溶液に加えて、その先頭に:によって行全体を逃れるほか、ORG-モードでエスケープ簡単に行方不明です。

=verbatim=がすべての場合に=の間のテキストを変更しない限り、私はうれしいです。 Not =this*bold*text=しかし、=this *bold* text=。うまく設計された各マークアップ/ダウン言語からわかるように

もちろん、これはorg-mode開発ページに置いた方がよいでしょう。理想的にはフィッティングパッチを使って... :-)

関連する問題