Subject: bug#48828: Wrong command used to compile pdf latex if pst-mode package is used (beamer)

From: Arash Esbati <[email-masked]>
Date: Fri, 04 Jun 2021 15:09:29 +0200

ccpsoeta <[email-masked]> writes:

> When loading the beamer document below AucTex recognises it as a pdf
> ("Latex/P" in modeline), but when trying to compile it with C-c C-c it
> wrongly uses "latex" instead of "pdflatex", i.e., it uses following
> command:
>
> latex  -file-line-error -shell-escape   -interaction=nonstopmode example-bug.tex
>
> The culprit is the "\usepackage{pst-node}" line. When removed, it works OK.
>
> Steps to reproduce:
>
> Start 'emacs -Q'
>
> Do initial setup
>
> #+begin_src emacs-lisp
> (add-to-list 'load-path "/home/user/git/auctex/site-lisp")
> (load "auctex.el" nil t t)
> #+end_src
>
>
> visit the following file:
>
> #+begin_src latex
>
> \documentclass[10pt]{beamer}
> \usepackage{pst-node} % this is the culprit line
> \begin{document}
> \begin{frame}
>   \frametitle{title}
>   \small
>   content
> \end{frame}
> \end{document}
>
> #+end_src
>
> Compile with 'C-c C-c'.

I don't think AUCTeX is wrongly using latex instead of pdflatex.  Insert
some piece of PSTricks code and try it again, e.g.

\documentclass[10pt]{beamer}
\usepackage{pst-node}
\begin{document}
\begin{frame}
  \frametitle{title}
  \small
  content \\[3ex]
  \begin{pspicture}[showgrid](0,-2)(6,2)
    \pnode{A}\psdot(A)\uput[90](A){A}
    \pnode[0,-2]{B}\psdot(B)\uput[90](B){B}
    \pnode(2,0){C}\psdot(C)\uput[90](C){C}
    \pnode[1,-2](2,0){D}\psdot(D)\uput[90](D){D}
    \pnode[2,2](3.5,0){E}\psdot(E)\uput[90](E){E}
  \end{pspicture}
\end{frame}
\end{document}

and pdflatex chokes with this message:

! Undefined control sequence.
\c@lor@to@ps ->\PSTricks
                         _Not_Configured_For_This_Format

Unless you don't use a package like "pst-pdf", pdflatex is the wrong
engine if you want to use PSTricks, you want to go for latex&dvips.

Best, Arash