babel
我正在用西班牙语写一篇文章,但似乎命令和不兼容xy-pic
。 有一个关于同一问题的较早主题,但那里的解决方案对我不起作用(babel 和 xy pic 之间的交互很差)。
这是该问题的一个简短版本:
\documentclass[12pt,letter,openright,final]{article}
\usepackage[utf8]{inputenc}
\usepackage[english,spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[all]{xy}
\begin{document}
\begin{abstract}
Tuki tuki
\textit{Palabras clave}: tuki, tuki, tuki.
\end{abstract}
\begin{otherlanguage}{english} % THIS IS WHERE THE PROBLEM IS
\begin{abstract}
Tookey Tookey
\textit{Keywords}: tookey, tookey, tookey.
\end{abstract}
\end{otherlanguage}
\begin{section}{Introducción}
Blah
\end{section}
\begin{section}{Sección}
Blah
$$\xymatrix@=1cm{
A \ar@{<->}[r]^{\oplus} \ar@{<->}[dr] & E\ar@{->}[d]^{\rhd}\\
I \ar@{<-}[u]^{\rhd} \ar@{<->}[ru]^{\hspace{3pt}\otimes} & O\ar@{<->}[l]^{\ominus}
}$$
blah
\end{section}
\end{document}
当我尝试编译它(MiKTeX,使用 pdfLaTeX)时出现此错误:
! Xy-pic error: illegal <arrow>: macro:->\es@use@shorthand < not valid. \xyerror@ ...#2}\fi \errmessage {Xy-pic error: #1} } l.54 } $$
本站有一个主题(当我尝试使用任何箭头样式时,xypic 会产生错误) 讨论了此错误,但那里的解决方案对我来说毫无用处,因为babel
之前已经加载了xy
。 (无论如何我都尝试更改它们,但问题仍然存在。)
如果我删除\otherlanguage
环境,就不会有任何问题了xymatrix
。
\selectlanguage{english}
它与(...)相同\selectlanguage{spanish}
。
但是!如果我将\otherlanguage
环境放在环境内部\abstract
,它就会正常工作。问题是我需要摘要的标题是“abstract”而不是“resumen”,因为它是英文版(西班牙语版在前面,一如既往)。
我查看了内部内容babel
和xy-pic
文档,但仍然不明白为什么会发生这种情况。
答案1
es-noquoting
如果不需要<<
and ,则可以使用选项>>
来替代\begin{quoting}
and \end{quoting}
。请注意,您仍然可以使用同义词"`
and "'
。
\documentclass[12pt]{article}
\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage[english,spanish
,es-noquoting% <- added
]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[all]{xy}
\begin{document}
\begin{otherlanguage}{english}
\begin{abstract}
Tookey Tookey
\end{abstract}
\end{otherlanguage}
\section{Introducción}
Blah
\section{Sección}
Blah
\[\xymatrix@=1cm{
A \ar@{<->}[r]^{\oplus} \ar@{<->}[dr] & E\ar@{->}[d]^{\rhd}\\
I \ar@{<-}[u]^{\rhd} \ar@{<->}[ru]^{\hspace{3pt}\otimes} & O\ar@{<->}[l]^{\ominus}
}\]
"`blah"'
\end{document}
或者你可以使用\deactivatequoting
:
\documentclass[12pt]{article}
\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage[english,spanish]{babel}
\deactivatequoting% <- added
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[all]{xy}
\begin{document}
\begin{otherlanguage}{english}
\begin{abstract}
Tookey Tookey
\end{abstract}
\end{otherlanguage}
\section{Introducción}
Blah
\section{Sección}
Blah
\[\xymatrix@=1cm{
A \ar@{<->}[r]^{\oplus} \ar@{<->}[dr] & E\ar@{->}[d]^{\rhd}\\
I \ar@{<-}[u]^{\rhd} \ar@{<->}[ru]^{\hspace{3pt}\otimes} & O\ar@{<->}[l]^{\ominus}
}\]
"`blah"'
\end{document}
答案2
西班牙语babel
激活了一些字符,并可用作命令,使源代码更漂亮(它们是、、、、)'
。其中最后两个与冲突。您必须在使用之前停用它们。"
~
<
>
xy-pic
\xymatrix@
\documentclass[12pt,letter,openright,final]{article}
\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage[english,spanish]{babel}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\usepackage[all]{xy}
\begin{document}
\begin{abstract}
Tuki tuki
\textit{Palabras clave}: tuki, tuki, tuki.
\end{abstract}
\begin{otherlanguage}{english} % THIS IS WHERE THE PROBLEM IS
\begin{abstract}
Tookey Tookey
\textit{Keywords}: tookey, tookey, tookey.
\end{abstract}
\end{otherlanguage}
\begin{section}{Introducción}
Blah
\end{section}
\begin{section}{Sección}
Blah
\spanishdeactivate{<>}
\[\xymatrix@=1cm{
A \ar@{<->}[r]^{\oplus} \ar@{<->}[dr] & E\ar@{->}[d]^{\rhd}\\
I \ar@{<-}[u]^{\rhd} \ar@{<->}[ru]^{\hspace{3pt}\otimes} & O\ar@{<->}[l]^{\ominus}
}\]
blah
\end{section}
\end{document}
我还添加了\usepackage{amssymb}
该\rhd
命令。