我在用硕士用于构建序列图的 Latex 包,但我只能用 Xelatex 来运行它,我不喜欢它,但显然这是可能的如果我使用以下命令运行 pdflatex,则可以使用它:
pdflatex -shell-escape <file>
选项。
但是我正在使用 Vim-Latex,我应该在哪里指定此选项?我不明白。
这是我的 vimrc:
let g:Tex_DefaultTargetFormat='pdf'
function CompileXeTex()
let oldCompileRule=g:Tex_CompileRule_pdf
let g:Tex_CompileRule_pdf = 'xelatex -aux-directory=F:/Vim/my_latex_doc/temp --synctex=-1 -src-specials -interaction=nonstopmode $*'
call Tex_RunLaTeX()
let g:Tex_CompileRule_pdf=oldCompileRule
endfunction
附言这说最新的 msc 版本所有 PSTricks 依赖项都已被删除,但我下载了该版本,并用它代替旧版本,但在使用 pdflatex 运行时仍然出现这样的错误:
error| Undefined control sequence. \c@lor@to@ps
所以我猜这仍然取决于 PSTricks。或者除非更改 msc.sty 还不够?我只是将文件的内容更改为新版本。
所以我的目标是用 Pdflatex 而不是 Xelatex 来运行它。
我的代码:
\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
%\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{eurosym}
\usepackage{wasysym}
\usepackage{todonotes}
\usepackage{geometry}
\usepackage{enumitem}
\usepackage{ulem}
\usepackage{msc}
\usepackage[pdf]{pstricks}
\title{aaa}
\author{aaaaa}
\begin{document}
\normalsize
\maketitle
\tableofcontents
\newpage
\section{In}
\section{aa}
\subsection{}
\begin{center}
\begin{msc}{Deactivate cc}
\setlength{\instdist}{9cm}
\setlength{\envinstdist}{2\envinstdist}
\declinst{cc}{}{C}
\declinst{tt}{}{T}
\nextlevel
\mess{NonceC}{cc}{tt}
\nextlevel[2]
\mess{\{$pu_C$, $[byebye]_{pr_C}\}_{pu_T}$}{cc}{tt}
\end{msc}
\end{center}
\end{document}
编辑:我补充道:
let g:Tex_CompileRule_pdf = 'pdflatex -interaction=nonstopmode -shell-escape $*'
按照建议添加到我的 vimrc 中,但我仍然收到 PSTricks 错误:
error| Option clash for package pstricks.
答案1
使用方式如下:PSTricks
运行时不应加载使用 的包pdflatex
,当然运行时tikz
也不todonotes
应加载latex
。我的示例使用的postscript
环境如下:
\documentclass[a4paper,11pt]{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage{eurosym}
\usepackage{wasysym}
\usepackage{geometry}
\usepackage{enumitem}
\usepackage{ulem}
\usepackage{auto-pst-pdf}
\ifpdf
\usepackage{todonotes}
\usepackage{tikz}
\usetikzlibrary{arrows,automata}
\else
\usepackage{msc}
\fi
\title{aaa}
\author{aaaaa}
\begin{document}
\maketitle
\tableofcontents
\newpage
\section{In}
\section{aa}
\subsection{b}
\begin{center}
\begin{postscript}
\begin{msc}{Deactivate cc}
\setlength{\instdist}{5cm}
\setlength{\envinstdist}{2\envinstdist}
\declinst{cc}{}{C}
\declinst{tt}{}{T}
\nextlevel
\mess{NonceC}{cc}{tt}
\nextlevel[2]
\mess{\{$pu_C$, $[byebye]_{pr_C}\}_{pu_T}$}{cc}{tt}
\end{msc}
\end{postscript}
\end{center}
\subsection{e}
\begin{center}
\begin{tikzpicture}[>=stealth',shorten >=1pt,auto,node distance=4cm]
\node[initial,state,accepting] (deact) {$D$};
\node[state] (init) [right of=deact] {$d$};
\path[->] (deact) edge node {issue} (init)
(init) edge [bend left] node {block} (deact);
\end{tikzpicture}
\end{center}
\end{document}