在编译时我只看到
为什么该类不可见?代码如下:
\documentclass{beamer}
\usepackage[shellescape,latex]{gmp}
\usetheme{Montpellier}
\title{Something}
\date{\today}
\begin{document}
\frame{\titlepage}
\section[Outline]{}
\frame{\tableofcontents}
\section{something}
\subsection{Class Diagram}
\frame
{
\frametitle{Frame 1}
\begin{figure}
\centering
\begin{mpost}[mpsettings=input metauml;]
Usecase.U("Authenticate user",
"by name, password");
drawObject(U);
\end{mpost}
\caption{Something}
\end{figure}
}
\end{document}
答案1
您可以在文档的第 5 部分中gmp
找到
\usempxclass [⟨options⟩] {⟨class⟩}
它的语法与 相同\documentclass
。其目的是声明 TeX 或 LaTeX 运行所使用的类,以准备mpx
METAPOST 绘制文本标签所需的文件。无需将其从默认值(即 article)更改。但是,如果您使用非标准类和非标准字体大小(即不是 10、11 或 12 点大小),则需要声明一个类,否则您的标签将以 10 点字体排版。
实际上,我没有用 测试过该包beamer
。但它属于这一类,因此您可以通过声明来解决问题
\usempxclass{article}
在序言中。
\documentclass{beamer}
\usepackage[shellescape,latex]{gmp}
\usempxclass{article}
\usetheme{Montpellier}
\title{Something}
\date{\today}
\begin{document}
\frame{\titlepage}
\section[Outline]{}
\frame{\tableofcontents}
\section{something}
\subsection{Class Diagram}
\begin{frame}
\frametitle{Frame 1}
\begin{figure}
\centering
\begin{mpost}[mpsettings=input metauml]
Usecase.U("Authenticate user",
"by name, password");
drawObject(U);
\end{mpost}
\caption{Something}
\end{figure}
\end{frame}
\end{document}
答案2
你需要使用
pdflatex -shell-escape yourfile
允许 mp 后端。
显然,beamer
您还需要设置点大小:
\documentclass{beamer}
\makeatletter
\def\@ptsize{10}
\makeatother
\usepackage[shellescape,latex]{gmp}
\usetheme{Montpellier}
\title{Something}
\date{\today}
\begin{document}
\frame{\titlepage}
\section[Outline]{}
\frame{\tableofcontents}
\section{something}
\subsection{Class Diagram}
\frame
{
\frametitle{Frame 1}
\begin{figure}
\centering
\begin{mpost}[mpsettings=input metauml;]
Usecase.U("Authenticate user",
"by name, password");
drawObject(U);
\end{mpost}
\caption{Something}
\end{figure}
}
\end{document}