我有使用问题emp 包在 TeXlive 2010 中。当我尝试使用它时,empcmds
它会将内容打印到输出中。如果我使用emp
它,解析器会在第一个字符后失败。
另外 - 我应该如何导入诸如 MetaUML 之类的库。
编辑: 代码
\documentclass[a4paper,11pt]{article}
\usepackage{enumerate}
\usepackage{amsmath}
\usepackage{emp}
\author{Maciej~M.~Piechotka}
\title{MetaUML}
\begin{document}
\begin{emp}
input metauml;
beginfig(1);
Class.A("Point")
("+x: int",
"+y: int") ();
Class.B("Circle")
("radius: int")
("+getRadius(): int",
"+setRadius(r: int):void");
topToBottom(45)(A, B);
drawObjects(A, B);
clink(aggregationUni)(A, B)
endfig;
end;
\end{emp}
\end{document}
和错误:
! Use of \emp@ doesn't match its definition.
<recently read> i
l.10 i
nput metauml;
最后结果:
\documentclass[a4paper,11pt]{article}
\usepackage{emp}
\usepackage[pdftex]{graphicx}
\author{Maciej~M.~Piechotka}
\title{MetaUML}
\begin{document}
\DeclareGraphicsRule{*}{mps}{*}{}
\begin{empfile}
\begin{empcmds}
input metauml;
\end{empcmds}
Hi there:
\begin{emp}[uml1](20,20)
Class.A("Point")
("+x: int",
"+y: int") ();
Class.B("Circle")
("radius: int")
("+getRadius(): int",
"+setRadius(r: int):void");
topToBottom(45)(A, B);
drawObjects(A, B);
link(aggregationUni)(A, B);
\end{emp}
\end{empfile}
\immediate\write18{mpost -tex=latex \jobname}
\end{document}
答案1
来自 emp 文档:“必需参数是图形的宽度和高度,单位为\unitlength
[...] \begin{emp}[⟨name⟩](⟨width⟩,⟨height⟩)
”
所以你需要写
\begin{emp}(100,100)
管他呢。