MetaUML 添加额外的垂直空间

MetaUML 添加额外的垂直空间

MetaUML 似乎为类成员添加了额外的垂直空间。

元UML

如您所见,只有第四和第五个元素正确对齐。该图像由 pdflatex 使用以下代码生成:

\documentclass{article}
\usepackage[a4paper, landscape]{geometry}

\usepackage[shellescape, latex]{gmp}

\begin{document}
\begin{figure}
  \centering
  \begin{mpost}[mpsettings = input metauml;]
    Class.Test("Test")
    (
      "-dasa:int",
      "-ds:int",
      "-dsdasdassd:int",
      "-dlasjdladjslas:int",
      "-djkkd:int",
      "-ds:int",
      "-dasdasdas:int"
    )
    (
    );
    drawObjects(Test);
  \end{mpost}
\end{figure}
\end{document}

关于如何修复此问题,我有什么想法吗?

答案1

这是对我的建议进行改进的一种解决方法\strut,它似乎可以正常工作,luamplib并且lualatex提供了更简单、更好的集成访问 Metapost 的方法。

\documentclass[border=5mm]{standalone}
\usepackage{luamplib}
\mplibtextextlabel{enable}
\everymplib{input metauml; beginfig(0);}
\everyendmplib{endfig;}
\begin{document}
\begin{mplibcode}
    Class.Test("Test")
    (
      "-dasa:int \phantom{)}",
      "-ds:int \phantom{)}",
      "-dsdasdassd:int \phantom{)}",
      "-dlasjdladjslas:int \phantom{)}",
      "-djkkd:int \phantom{)}",
      "-ds:int \phantom{)}",
      "-dasdasdas:int \phantom{)}"
    )
    (
    );
    drawObjects(Test);
\end{mplibcode}
\end{document}

编译此代码lualatex将生成此输出(带有适当间距的行)。

在此处输入图片描述

相关内容