pstricks 不適用於論文模板

pstricks 不適用於論文模板

我一直在嘗試讓 pst-optexp 套件與我的論文模板一起使用,這是一場噩夢。

我正在使用 MikTeX 進行 pdflatex 編譯,如前所述如何在 pdfLaTeX 中使用 PSTricks?我已經設定了 -enable-write18 標誌。

\input{head/settings_thesis_template.tex}

\begin{document}
\include{main/optical_exp}
\end{document}

和 settings_thesis_template.tex 看起來像這樣:

\documentclass[a4paper,11pt,fleqn]{book}
\usepackage{etex}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french,german,english]{babel}
\usepackage{fourier} 
\usepackage{setspace} % increase interline spacing slightly
\usepackage{multirow}
\usepackage{tabularx}
\usepackage{bm} 
\usepackage{graphicx}
\usepackage{epstopdf}
\usepackage{mdwlist}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{booktabs}
\usepackage{lipsum}
\usepackage{microtype}
\usepackage{url}
\usepackage[final]{pdfpages}
\usepackage{fancyhdr}
\usepackage{listings}
\usepackage{hyperref}
\usepackage{color}
\usepackage{tikz}
\usetikzlibrary[topaths]
\usetikzlibrary{positioning,calc,arrows}

\usepackage[explicit]{titlesec}

\usepackage{mathtools}
\usepackage{amsmath}
\usepackage{auto-pst-pdf}
\usepackage{pst-optexp}
\usepackage{pstricks-add}
\usepackage{pst-pdf}

Optical_exp.tex 中包含的圖像是這樣的:

\begin{pspicture}(-1.5,-1.5)(1.5,1.5)
\pnode(-1,0){in}
\pnode(0,0){mir}
\pnode(1,0){out}
\pnode(-1,-1){low}
\pnode(-1,1){high}
\mirror(low)(mir)(high)
\drawbeam[linecolor=red,arrows=->](in){1}(in)
\end{pspicture}

最後,我得到 1) 論文檔案 pdf,以及 2) 一個空白的、自動產生的 pdf,它應該包含「optical_exp-tex」中的圖像。

有趣的是,XeTex 能夠編譯這個 MWE。然而,當我嘗試使用 XeTeX 編譯更複雜的論文模板時,我收到了一堆 unicode 錯誤,如下所示:

Unicode char \u8:èse not set up for use with LaTeX
Unicode char \u8:éle not set up for use with LaTeX.

我的文件編碼確實是 UTF-8,並且我已包含與此錯誤相關的包,如您在我的“設定”文件中看到的那樣。 (感謝線程inputenc 錯誤:Unicode char \u8:未設定與 LaTeX 一起使用)。這可能是我在文件中的法文文本,儘管我不明白為什麼我會收到此錯誤,儘管有“解決方法”包。

所以問題是:1)為什麼 pdflatex 不能與我的 MWE 一起使用,2)為什麼 XeTex 給我 UTF-8 編碼錯誤?

任何對這些問題的見解都將非常受歡迎!

答案1

我在 tug.org 上的 PSTricks 網站上閱讀了文檔,顯然一起使用 tikz 和 pstricks 是一個常見的錯誤。作者提供了一個解決方法像這樣,用於將 pst-plot 與 tikz 結合使用。

對於我的特定示例,我必須添加

\usepackage{auto-pst-pdf}
\ifpdf
  \usepackage{tikz}
\else
  \usepackage{pst-optexp}
\fi

就在序言中的 後面\documentclass,並刪除另一個\usepackage{tikz}.

相關內容