Problema con xelatex en TeXMaker

Problema con xelatex en TeXMaker

El siguiente código me funciona en TeXMaker en Mac OS con XeLaTeX + ViewPDF:

\documentclass{article}
%\usepackage{pst-3dplot}
 \newcommand{\C}{\mathbb{C}}
 %\usepackage{pstricks,auto-pst-pdf}
  \usepackage{pst-3dplot}
  %\usepackage{pst-math}
  % ...
  \begin{document}
   % ...
  \begin{center} 
  \begin{pspicture}(0,0)(8,5)
  \psdot(1,3)
  \psline(0,0)(8,2)
  \rput(1,3.3){$A$}
  \rput(0.2,0.5){$L$}
  \rput(8, 3){$NICE$}
  \end{pspicture}
  \end{center} 
  % ...
  \end{document}

Pero cuando uso este código con mi preámbulo habitual:

    \documentclass[a4paper, 10pt, twoside, headsepline, pointlessnumbers]{scrbook}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage[pdftex]{graphicx}

\usepackage{latexsym}
\usepackage{amsmath,amssymb,amsthm}
\usepackage{microtype}
\usepackage{xcolor}

\usepackage{tocstyle}
        \usepackage{mdframed}
        \usetocstyle{KOMAlike}
        \usepackage[hidelinks]{hyperref}
        \usepackage{mathtools}
        \usepackage{float}
        \setcounter{MaxMatrixCols}{20}
        \newcommand{\RM}[1]{\MakeUppercase{\romannumeral #1{}}}
        \makeatletter \g@addto@macro\@floatboxreset\centering        \makeatother
       \usepackage{verbatim}
       \usepackage{multirow}
       \usepackage{booktabs}
       \usepackage{array}
       \usepackage{comment}
       \usepackage{esvect}
       \DeclareMathAlphabet{\mathcal}{OMS}{cmsy}{m}{n}
       \usepackage{collcell}

       \usepackage{pst-3dplot}

      %\usepackage{pst-3dplot}

       \newcommand{\C}{\mathbb{C}}

      %\usepackage{pstricks,auto-pst-pdf}

      \usepackage{pst-3dplot}
     %\usepackage{pst-math}

     % ...



     \begin{document}

     % ...

     \begin{center} 
     \begin{pspicture}(0,0)(8,5)
     \psdot(1,3)
     \psline(0,0)(8,2)
     \rput(1,3.3){$A$}
     \rput(0.2,0.5){$L$}
     \rput(8, 3){$NICE$}
     \end{pspicture}
     \end{center} 

     % ...

     \end{document}

Recibo varios errores como "Comando \C ya definido", "secuencia de control no definida \ifnum \pdfshellescape..."

¿Dónde está el problema?

Respuesta1

Si inserta \show\Cdespués de cada uso el paquete verá que no está definido hasta

> \C=undefined.
l.19 \show\C

? 
(./hyperref.sty
(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty))
(/usr/local/texlive/2019/texmf-dist/tex/generic/ifxetex/ifxetex.sty)
(/usr/local/texlive/2019/texmf-dist/tex/latex/hyperref/pd1enc.def)
(/usr/local/texlive/2019/texmf-dist/tex/latex/latexconfig/hyperref.cfg)
(/usr/local/texlive/2019/texmf-dist/tex/latex/url/url.sty))
(/usr/local/texlive/2019/texmf-dist/tex/latex/hyperref/hxetex.def
(/usr/local/texlive/2019/texmf-dist/tex/latex/hyperref/puenc.def)
(/usr/local/texlive/2019/texmf-dist/tex/generic/oberdiek/stringenc.sty)
(/usr/local/texlive/2019/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty))
> \C=macro:
->\PU-cmd \C \PU\C .
l.21 \show\C

Eso es hiperref lo define. Si no necesita esa definición, simplemente use \renewcommanden lugar de\newcommand cuando haga su definición, ya sea eso o elija un nombre queesGratis para tu comando.

Tenga en cuenta que nunca debe utilizar la codificación T1 con xelatex (la separación de palabras será incorrecta).

Entonces deberías eliminar

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}

También uso

\usepackage{graphicx}

no

\usepackage[pdftex]{graphicx}

Casi nunca deberías usar el argumento opcional allí, ya que simplemente obliga a Graphicx a usar código específico de pdftex incluso cuando ha detectado que se está ejecutando en xetex. La pdftexopción es inofensiva pero no es necesaria si utiliza pdftex y provocará errores en todos los demás casos.

información relacionada