Beamer 和 MetaUML - 看不到任何图表

Beamer 和 MetaUML - 看不到任何图表

在编译时我只看到

在此处输入图片描述

为什么该类不可见?代码如下:

\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 运行所使用的类,以准备mpxMETAPOST 绘制文本标签所需的文件。无需将其从默认值(即 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}

相关内容