![MetaUML 添加额外的垂直空间](https://linux22.com/image/433502/MetaUML%20%E6%B7%BB%E5%8A%A0%E9%A2%9D%E5%A4%96%E7%9A%84%E5%9E%82%E7%9B%B4%E7%A9%BA%E9%97%B4.png)
MetaUML 似乎为类成员添加了额外的垂直空间。
如您所见,只有第四和第五个元素正确对齐。该图像由 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
将生成此输出(带有适当间距的行)。