2011-02-28 17 views
24

Emacs org-modeにテーブルがあり、その内容は正規表現です。しかし、正規表現の一部であるリテラルパイプ文字(|)をエスケープする方法を考え出すことはできないので、テーブルセルセパレータとして解釈されます。誰かが私に助けを求めることができるでしょうか?ありがとう。org-modeのパイプ文字をエスケープ

更新:それはイタリック/強調シーケンスの開始をトリガしないように、私はまた、スラッシュ(/)のためのエスケープを探しています。私は\/\//を実験しました。たとえば、テーブルセルにリテラルテキスト/foo/が必要です。ここではそれをしようとする3つの方法です:LaTeXの輸出で

| /foo/ | \/foo/ | \//foo/ | 

が、それは次のようになります。

\emph{foo} & \/foo/ & \//foo/ 

だから、それらのどれも私が望んでいる平野/foo/ではありません。

+0

[の挿入方法| | " org-modeテーブル](http://stackoverflow.com/questions/11876048/how-to-insert-in-org-mode-table) – legoscia

答えて

24

\vertパイプ用です。

HTMLとPDFの両方をエクスポートするとき、エスケープされていない前方スラッシュがエスケープされているようです。

+3

素晴らしい!私は 'a \ vert {} b'のようなものにも中括弧を使用しています。それ以外の場合は' a \ vertb'で動作しません。 http://orgmode.org/worg/org-symbols.htmlにあるように。 –

+0

私はスラッシュのために2つの異なる輸出の私の奇妙さを再現するようには思われません(私はそれを編集しました)。 –

+0

しかし明らかに、これはエクスポートされた文書にのみ影響しますが、セルの内容が文字列としてどのように解釈されるかには影響しません。 OPはパイプ文字が正規表現の一部であると言っています。この正規表現を '$ 4 = '(if(string-match $ 1 $ 2)" Yes "" No ")'という式で使用する必要があると仮定しました。これは動作しません。 – kccqzy

1

そのままコードのようにしても、関連するテキストの書式を設定できます。コードと逐語的文字列に

テキストを組織モード 特定の構文のために処理されていません。それは逐語的にエクスポートされます。

=foo | bar=(コード)またはfoo ~|~ bar(そのまま)のように試してみることもできます。しかし、それは出力形式を変更します。

+1

テーブルに対しては役に立ちません。私の正規表現 '/(foo | bar)/'は、 '〜'文字で囲まれていても2つの表のセルになります。 '/(foo \ vert {} bar)/'と書く必要があります。あまりにも悪いです、私は開発ノートを追跡するためにorg-mode(この場合)を使用しているので、PDFやLaTeXなどにはエクスポートしません。しかたがない。 –

+0

おっと、私はちょうど(ソート)の解決策を見つけました。答えとして投稿されます。 –

1

"¦"、Unicode 00A6 BROKEN BARを使用してください。これはあなたの特定のニーズに対応するかもしれないし、うまくいかないかもしれませんが、それは良い視覚的近似です。

関連する問題