我尝试\xymatrix{A\ar@{\sim>}[r] & B}
在 LyX 中进行编译,但收到以下错误消息:
我该如何修复这个问题?代码在 ERT 中编译,但不在本机 xypic 数学模式中编译。
这里有一个链接至MWE.lyx
答案1
您的问题是 xypic 包需要一些特殊字符(特别是波浪符号 ~),这些字符会被 LyX 中的数学编辑器自动重写。让 LyX 在源代码中插入真正的波浪符号有点麻烦。
但在这种情况下,LyX 的“宏”功能就派上用场了。
- 去插入->数学->宏。
- 写
\sqarrow
而不是\newmacroname
。 - 然后复制文本
\ar@{~>}[r]
,并直接粘贴到TeXLyX 宏的字段。 - 最后,在莱克斯宏的字段中,输入一些类似于输出符号的符号,例如
~~>
或\rightarrow
。
\sqarrow
现在,您已经为波浪箭头创建了一个宏,您可以在 LyX 数学编辑器中直接使用它。
记录显示,LyX 按照\global\long\def\sqarrow{\ar@{~>}[r]}
LaTeX 源代码的方式重写了这个宏。
答案2
\xymatrix
in的形状输入\ar@{shape}[direction]
不使用数学模式,而是使用自己的解释器来识别箭头形状的类型。输入与环境无关,并且在文本模式和数学模式下均可用:
\documentclass{article}
\usepackage[all,cmtip]{xy} % include cmtip or your arrow will be ugly
\begin{document}
\xymatrix{A\ar@{~>}[r] & B}
\begin{equation}
\xymatrix{A\ar@{~>}[r] & B}
\end{equation}
\end{document}