请考虑以下示例:
% pdflatex -shell-escape filename.tex
\documentclass{article}
\usepackage{mathtools}
\usepackage{auto-pst-pdf,pst-text}
\newcommand*\R{\pscharpath[linewidth=0.25\pslinewidth,fillstyle=solid,fillcolor=red]{R}}
\newcommand*\Gu{\pscharpath[linewidth=0.25\pslinewidth,fillstyle=solid,fillcolor=yellow]{Gu}}
\newcommand*\Gr{\pscharpath[linewidth=0.25\pslinewidth,fillstyle=solid,fillcolor=green]{Gr}}
\begin{document}
\begin{align*}
\Gr + \Gu + \R
\end{align*}
%\begin{equation*}
% \Gr + \Gu + \R
%\end{equation*}
\begin{figure}[htbp]
\centering
\begin{pspicture}(1,1)
\psline(0,0)(1,1)
\end{pspicture}
\end{figure}
\end{document}
问题
如何\pscharpath
使用pst-text
align
在环境中正确打包吗?
从截图中你可以看到,我\Gr
在图片中得到了一个后环境align
而不是\psline
。如果我使用equation
环境 而不是align
环境 ,一切都很好。
答案1
ams
对齐被评估两次,您只需要在最后一次运行中添加钩子:
\documentclass{article}
\usepackage{mathtools}
\usepackage{auto-pst-pdf,pst-text}
\makeatletter
\newcommand*\R{\ifmeasuring@ R\else\pscharpath[linewidth=0.25\pslinewidth,fillstyle=solid,fillcolor=red]{R}\fi}
\newcommand*\Gu{\ifmeasuring@ Gu\else\pscharpath[linewidth=0.25\pslinewidth,fillstyle=solid,fillcolor=yellow]{Gu}\fi}
\newcommand*\Gr{\ifmeasuring@ Gr\else\pscharpath[linewidth=0.25\pslinewidth,fillstyle=solid,fillcolor=green]{Gr}\fi}
\begin{document}
\begin{align*}
\Gr + \Gu + \R
\end{align*}
%\begin{equation*}
% \Gr + \Gu + \R
%\end{equation*}
\begin{figure}[htbp]
\centering
\begin{pspicture}(1,1)
\psline(0,0)(1,1)
\end{pspicture}
\end{figure}
\end{document}