我一直在使用 psgo.sty(它可以绘制漂亮的围棋图)。围棋图在纵轴上用字母从 A 到 T“枚举”(围棋在 19x19 的棋盘上进行,省略了 I,可能是为了避免与 L 混淆。字母从 A 到 T,而不是从 A 到 S,因为围棋是用线而不是方块来放置棋子的):
ABCDEFGHJKLMNOPQRST
当我创建西班牙语文档时出现了这个问题,现在垂直轴从 A 到 S,因为 Ñ 被添加到列表中:
ABCDEFGHJKLMN Ñ OPQRS
但这并不可取;我想要一个真正的“国际化”围棋图,横轴从 A 到 T,并且没有“Ñ”。
重现该问题的最小代码是:
\documentclass[a4paper]{article}
\usepackage{psgo}
\usepackage[spanish]{babel}
\begin{document}
\begin{psgoboard}
\end{psgoboard}
\end{document}
这给出了一个漂亮的 Go 图,但在水平坐标中带有“Ñ”字母(只需删除“\usepackage[spanish]{babel}”行即可“解决”该问题):
因此,你可以想象,这不是打印围棋图表的正确方法,无论文本是否是西班牙语。
我尝试联系开发人员 Victor Bos,但文档中的电子邮件不再起作用。
无论如何,我只是不知道修复是微不足道的还是太复杂,所以我想知道是否有专家可以看看代码,或者给我一些关于如何尝试自己解决它的提示(我有一些 C 和 python 编程的背景)。
最好的
埃米利奥
答案1
诀窍是假装 Ñ 占据与 A 相同的垂直空间
% arara: latex
% arara: dvips
% arara: ps2pdf
\documentclass[a4paper]{article}
\usepackage{psgo}
\usepackage[spanish]{babel}
\renewcommand{\golabelformat}[1]{{\sffamily\vphantom{A}\smash{#1}}}
\begin{document}
\begin{psgoboard}
\end{psgoboard}
\end{document}
这些arara
行是为了避免我运行三个程序而不是一个。
如果您想要英文风格的字母,那么您可以babel
使用以下es-nolayout
选项加载:
% arara: latex
% arara: dvips
% arara: ps2pdf
\documentclass[a4paper]{article}
\usepackage{psgo}
\usepackage[spanish,es-nolayout]{babel}
\begin{document}
\begin{psgoboard}
\end{psgoboard}
\end{document}
如果您需要在文本中按字母顺序枚举包含超过十三个项目的列表,那么您必须遵循不同的模式:
% arara: latex
% arara: dvips
% arara: ps2pdf
\documentclass[a4paper]{article}
\makeatletter
\let\latex@Alph\@Alph % save the original meaning of \@Alph
\makeatother
\usepackage{psgo}
\usepackage[spanish]{babel}
\makeatletter
\renewcommand{\golabelformat}[1]{%
{% open a group
\let\@Alph\latex@Alph % restore temporarily the original meaning
\sffamily\vphantom{A}\smash{#1}%
}% close the group
}
\makeatother
\begin{document}
\begin{psgoboard}
\end{psgoboard}
\end{document}
输出与 相同es-nolayout
;不同之处在于按字母顺序排列的枚举列表中的第十四个项目将具有“Ñ”标签。
答案2
好的,并没有完全修复.sty 文件,但是这里有人发布了一种解决问题的方法: http://www.reddit.com/r/LaTeX/comments/2j1q3c/hints_for_modifying_a_sty_file/