2011-02-28 52 views
24

我在Emacs org-mode中有一个表格,内容是正则表达式。我似乎无法弄清楚如何逃避正则表达式的一部分的文字管道字符(|),所以它被解释为表格单元格分隔符。有人能指点我一些帮助吗?谢谢。在组织模式中使用管道字符

更新:我也在寻找斜线的逃脱(/),这样它就不会触发斜体/强调序列的开始。我用\/\//进行了实验 - 例如,假设我想在表格单元格中输入文字/foo/。这里有3种方式尝试吧:

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

乳胶出口,变成:

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

所以他们都不是纯/foo/我希望的。

+0

[如何插入| |“在组织模式表](http://stackoverflow.com/questions/11876048/how-to-insert-in-org-mode-table) – legoscia 2015-07-13 16:03:19

回答

24

\vert用于管道。

对于导出到HTML和PDF格式时未转义的正斜杠似乎正常工作。

+3

太棒了!我也使用大括号来表示'a \ vert {} b',否则就是'a \ vertb',不起作用。如http://orgmode.org/worg/org-symbols.html所示。 – 2011-03-04 15:06:14

+0

我似乎无法重现我的两个不同的出口斜杠(所以我编辑了出我的问题)的奇怪,但我添加了一个试图获得文字斜线,并没有实现它的例子。 – 2011-03-04 15:29:28

+0

但显然这只会影响导出的文档,但不会如何将单元格内容解释为字符串。 OP说管道字符是正则表达式的一部分,我假定他/她需要在公式中使用这个正则表达式,例如'$ 4 ='(if(string-match $ 1 $ 2)“Yes”“No”)',但是这不起作用。 – kccqzy 2013-03-29 09:50:45

1

你也可以格式化相关的文字作为逐字代码

代码和逐字字符串

文本不为组织模式 特定的语法处理;它是逐字输出的。

所以你可以尝试像=foo | bar=(代码)或foo ~|~ bar(逐字)。不过,它确实会改变输出格式。

+1

对表格没有帮助。我的正则表达式'/(foo | bar)/'变成了两个表格单元格,即使被'〜'字符包围了。必须把它写成'/(foo \ vert {} bar)/'。太糟糕了,因为我使用org-mode(在这种情况下)来跟踪我的开发笔记,而不是用于导出为PDF或LaTeX或任何其他内容。好吧。 – 2015-06-03 14:43:18

+0

哦,但我确实找到了一个(分类)解决方案;将作为答复发布。 – 2015-06-03 14:53:05

1

使用破折号字符“¦”,Unicode 00A6 BROKEN BAR。这可能会或可能不会满足您的特定需求,但这是一个很好的视觉逼近。