我有以下文件:
metauml文件.mp:
input metauml;
beginfig(1);
Class.Benutzer("Benutzer")
()
("+üben(): void");
drawObjects(Benutzer);
endfig;
end
latex文件.tex:
\documentclass[a4paper,12pt]{article}
\usepackage[utf8]{inputenc} % this is needed for german umlauts
\usepackage[ngerman]{babel} % this is needed for german umlauts
\usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf
\usepackage[margin=2.5cm]{geometry} %layout
% The following is needed in order to make the code compatible
% with both latex/dvips and pdflatex.
\ifx\pdftexversion\undefined
\usepackage[dvips]{graphicx}
\else
\usepackage[pdftex]{graphicx}
\DeclareGraphicsRule{*}{mps}{*}{}
\fi
\begin{document}
\includegraphics{metaumlfile.1}
\end{document}
生成文件:
make:
mpost metaumlfile.mp
pdflatex latexfile.tex -output-format=pdf
pdflatex latexfile.tex -output-format=pdf
make clean
clean:
rm -rf $(TARGET) *.class *.html *.log *.aux *.out *.glo *.glg *.gls *.ist *.xdy *.1 *.toc
(我希望这仍然有效。我有一个更大的文件并试图生成一个最小的示例。当我调用 make 时,我的大文件会进行编译。)
metaumlfile.mp 中有一个名为“umlaut”的特殊字符。我需要做哪些更改才能使其在我的 PDF 文件中正确显示?(我可以在我的 latexfile.tex 中使用 umlaut。)
答案1
这显然是一个编码问题;MetaUML 并不真正理解 TeX 输入,而且根本不喜欢 UTF-8。
如果将.mp
文件保存为 Latin-1,则特殊字符可能会被正确呈现,因为 Latin-1 和 MetaUML 使用的字体共享许多插槽(ü
)。
以下是以 Latin-1 编码的 MetaUML 文件的结果: