扑克包的另一个问题

扑克包的另一个问题

首先,对于再次提起这个话题,我深感抱歉——我发现这里有几篇帖子提到了实验性的扑克软件包,但我仍然无法弄清楚。

浏览完所有帖子后,我得出了一个 MWE,应该工作:

\documentclass[11pt,a4paper]{report}

\usepackage[pdf]{pstricks}
\usepackage{auto-pst-pdf}
\usepackage{poker}
\setkeys{poker}{inline=symbol}

\begin{document}
  \begin{cards}
    \crdtenh
  \end{cards}
\end{document}

然而...嗯-事实并非如此。

我尝试了三种编译代码的方法:

  1. xelatex 虽然它工作正常,但我丢失了所有字体,这对于 MWE 来说没问题,但在任何应用程序(例如书籍或文章)中完全没用。所有字体都被替换,并默认为单一字体。

  2. latex -> dvips -> ps2pdf 最后一步(ps -> pdf)失败,出现以下错误:

    字典堆栈:--dict:1198/1684(ro)(G)---dict:0/20(G)---dict:176/200(L)---dict:198/300(L)---dict:85/200(L)--当前分配模式为本地最后一个操作系统错误:没有这样的文件或目录当前文件位置是 333209 GPL Ghostscript 9.18:无法恢复的错误,退出代码 1

  3. pdflatex -shell-excape 据说这是解决我的问题的灵丹妙药,但不幸的是没有什么用。pdflatex 失败并出现以下错误:

!LaTeX 错误:\begin{pspicture} 在输入第 12 行以 \end{cards} 结尾。

我猜命令调用不正确。我检查了 poker.sty 中的代码,一切都应该正常工作。好吧……再说一遍 -应该

我想我这里遗漏了一些东西——有人能帮我解决这个问题吗?

编辑(正如评论中所建议的,我提供了有关该包和我发现的其他主题的更多信息)

“poker” 是一个实验性的包,可以在这里找到:

我提到的其他主题:

更新:按照建议我改用 poker2,但对于包文档中找到的更复杂的示例,这仍然不起作用:

\begin{cards}
    \crdpair{\crdKs}{\crdtenh}%
    \crdflop{\crdsevd}{\crdsevc}{\crdQd}%
    \crdKc\crdKd%
\end{cards}

错误仍然相同:

!LaTeX 错误:\begin{pspicture} 在输入第 12 行以 \end{cards} 结尾。

说实话,我对渲染单张卡片的能力非常满意 - 现在我只想知道是否可以做些什么来使其变得更好,并使其与卡片组一起发挥作用。

答案1

pst-poker.sty如果您想使用,请使用当前auto-pst-pdf

\documentclass[11pt,a4paper]{report}
\usepackage{auto-pst-pdf}
\usepackage{pst-poker}
\psset{inline=symbol}
\begin{document}

\begin{postscript}
\crdtenh
\end{postscript}

\end{document}

在此处输入图片描述

cards实际上不需要这个环境。

\documentclass[11pt,a4paper]{report}
\usepackage{auto-pst-pdf}
\usepackage{pst-poker}
\psset{inline=symbol}
\begin{document}

\begin{postscript}
    \crdtenh
\end{postscript}

\begin{postscript}
    \crdpair{\crdKs}{\crdtenh}%
    \crdflop{\crdsevd}{\crdsevc}{\crdQd}%
    \crdKc\crdKd%
\end{postscript}

\end{document}

在此处输入图片描述

答案2

仅安装 sty 是不够的。该包还包含各种 eps 图形。

如果您删除 auto-pst-pdf 和 pstricks 的 pdf 选项,使用 xelatex 和 latex->dvips->ps2pdf 就可以了。

\documentclass[11pt,a4paper]{report}

\usepackage{poker}
\setkeys{poker}{inline=symbol}

 \begin{document}
  \begin{cards}
    \crdtenh
  \end{cards}
\end{document}

在此处输入图片描述

我认为,使用 pdflatex 和 auto-pst-pdf 进行编译只有在对包进行一些重写之后才会起作用——它隐藏了命令中某些环境的结束,这会混淆预览包。

答案3

我刚刚注意到一些可能可以作为廉价解决方法的东西:

  • 运行 pdflatex -shell-escape 失败,但它会生成一个包含所有卡片的辅助 pdf。
  • 利用它我可以生成一个包含所有卡片(52 张 + 背面 + 小丑)的 pdf。
  • 然后我可以创建自己的库,将 pdf 中所需的图像放入我的文档中。用法与原始包完全相同,尽管会丢失一些功能(目前我对此没意见)。

我的推理是否存在明显缺陷?

相关内容