
다음 코드는 XeLaTeX + ViewPDF를 사용하는 Mac OS의 TeXMaker에서 작동합니다.
\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}
하지만 이 코드를 평소의 서문과 함께 사용하면 다음과 같습니다.
\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}
"\C 명령이 이미 정의되었습니다.", "정의되지 않은 제어 시퀀스 \ifnum \pdfshellescape..."와 같은 오류가 여러 개 발생합니다.
문제는 어디에 있습니까?
답변1
각 usepackage 다음에 삽입하면 \show\C
다음까지 정의되지 않은 것을 볼 수 있습니다.
> \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
그것이 hyperref가 정의하는 것입니다. 해당 정의가 필요하지 않은 경우 정의를 만들 때보 \renewcommand
다는 간단히 사용하거나 다음 중 하나를 선택하십시오.\newcommand
~이다당신의 명령에 따라 무료입니다.
xelatex와 함께 T1 인코딩을 사용하면 안 됩니다(하이픈 연결이 잘못될 수 있음).
그래서 제거해야합니다
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
또한 사용
\usepackage{graphicx}
~ 아니다
\usepackage[pdftex]{graphicx}
xetex에서 실행 중임을 감지한 경우에도 graphicx가 pdftex 관련 코드를 사용하도록 강제하기 때문에 선택적 인수를 거의 사용해서는 안 됩니다. 이 pdftex
옵션은 무해하지만 pdftex를 사용하는 경우에는 필요하지 않으며 다른 모든 경우에는 오류가 발생합니다.