XyPic xymatrix 未使用 TeX Live-2012 显示箭头标签

XyPic xymatrix 未使用 TeX Live-2012 显示箭头标签

最近,我将 TeX 安装从 TeX Live-2009 升级到 TeX Live-2012。现在\xymatrix出现问题。此问题会影响 Mac OS X 和 Ubuntu Linux 12.04 安装。

例如,简单的代码

\[
  \xymatrix{
  F \ar[r]^-v \ar[dr]_-{T v} & V \ar[d]^-T \\
  & W }
\]

用于正确标记箭头,现在有奇怪的效果

\[
  \xymatrix{
  F^v_{T v} \ar[r] \ar[dr] & V^T \ar[d] \\
     & W }
\]

以下是我的序言:

\documentclass[10pt]{letter}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{breqn}
\usepackage[urlcolor=blue,linkcolor=blue,citecolor=blue]{hyperref}
\usepackage[all]{xy}

有没有人遇到过这种意外行为?

答案1

你没有说你从哪个 TeX 发行版升级而来。该breqn软件包经历了重大变化,不幸的是,其中一个变化导致它无法与 Xy-pic 很好地配合。

您可以使用一些技巧恢复正常行为:

\documentclass[10pt]{letter}
\usepackage{amsmath}
\usepackage{amsthm}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{breqn}
\usepackage[all]{xy}
\usepackage{etoolbox}

\usepackage[urlcolor=blue,linkcolor=blue,citecolor=blue]{hyperref}

%%% breqn changes the category code of ^ and _
%%% in a way that breaks Xy-pic
\newcommand{\Xycatcodes}{\catcode`\^=7 \catcode`\_=8 }
\makeatletter
\preto\xymatrix@setup{\Xycatcodes}
\makeatother

\begin{document}
\[
  \xymatrix{
  F \ar[r]^-v \ar[dr]_-{T v} & V \ar[d]^-T \\
  & W }
\]
\end{document}

其他字符可能会出现问题,但这个应该可以。更改已本地化,\xymatrix因此应该可以在breqn环境中使用它。

语法

\usepackage[all]{xy}

不是完全过时了。相反,我们永远不应该使用

\input xy
\xyoption{all}

在 LaTeX 中。

相关内容