我正在 LyX 中编辑 xymatrix,为了使某些边缘弯曲,我需要能够/_/
在数学模式下插入。但是,每次我输入该字符序列时,LyX 都会将其转换为/_{/}
,这会破坏 xymatrix 编译。有没有办法告诉 LyX 不要添加花括号?
可以通过 验证实际的乳胶输出View->Source Pane
。
在这种情况下,键入Ctrl+L
原始代码没有帮助,因为它在数学模式下的行为不符合预期。
我正在使用 Lyx 版本 2.1.4
答案1
按照http://www.mathematik.uni-marburg.de/~gumm/LyX/xypic/xypic.pdf,在 LyX 中必须使用\sp
而不是^
和\sb
而不是_
。
答案2
这不是一个完美的答案,但比将整个图片放在 TeX 环境中要好一些。将以下内容添加到您的序言中(在 Document->Settings 中):
\makeatother
\newcommand{\arup}[1]{\ar@/^/[#1]}
\newcommand{\ardn}[1]{\ar@/_/[#1]}
\makeatletter
(是的,这种\makeatother
和的组合\makeatletter
与您在序言中看到的相反。这是因为 LyX 已经用\makeatletter
/\makeatother
对包围了序言,但我们实际上不希望它用于这些宏定义,所以我们必须暂时将其关闭。)
现在,您本可以使用 之类的东西\ar@/_/[r]
,而应该使用\ardn{r}
。我想您已经意识到了,但请注意,产生括号的按键顺序有点不直观,因为 LyX 通常会为您转义它们:
- {r}在 TeX 中给出
\{r\}
(实际上在 PDF 输出中给出 {r})。 - \{rspace以 TeX 形式给出
{r}
。
最后,一个半相关的提示。如果您在 LyX 文档中经常使用 xymatrix,那么使用 insert->math->macro 为 LyX 中的箭头定义您自己的宏可能是值得的。(您/_/
也无法放入这些,因此您仍然需要前缀宏。)然后,您可以将您真正想要的内容放入“TeX”框中,但在“LyX”框中放入一些视觉上具有暗示性的内容,例如\overset{#1}{\curvearrowright}
。这可以使编辑大矩阵变得不那么令人困惑。
答案3
XY-pic 用户指南说这/_/
只是 的缩写/:a(-90)/
,所以我想您可以使用类似 的东西\ar@/:a(-90)/[r]
。\ar@(dr,ur)[r]
也可以。