我对学习 MetaPost 很感兴趣,但不知为何我找不到任何可靠的资源来指导我该从哪里开始。我找到的所有手册和指南都是空穴来风,更糟糕的是它们似乎都只考虑 UNIX。
我有 TeXnicCenter 和 Miktex。
有人能像我五岁一样向我解释如何以及在何处开始使用我拥有的任何工具创建和编译我的第一个 MetaPost 文件(或者最好是图像)吗?
或者我需要其他编译器吗?抱歉,我无法提供任何进一步的信息,但我只是陷入困境,不知道从哪里开始。
答案1
给 ConTeXt 一个机会。你不会得到一个基本的 METAPOST 编译器,但你会得到一个与 TeX 紧密集成的 metapost 层,名为 metafun。
打开你的编辑器,TeXnicCenter 应该可以做到,然后写入
\starttext
\startMPcode
draw unitsquare scaled 10 ;
\stopMPcode
\stoptext
然后用 ConTeXt(MkIV 是当前引擎)编译此文本。您将得到一个正方形。
ConTeXt 的主要开发者 Hans Hagen 在 Windows 下工作。他的编辑器是 SciTe,它被推荐为 ConTeXt 编辑器,但许多其他编辑器也可以完成这项工作。您可以在此(不完整)找到其中一些编辑器ConTeXt 维基页面。
我已经学习 METAPOST 一年了,真的很喜欢它,尽管学习曲线相当陡峭。一些参考资料:
特洛伊·亨德森(Troy Henderson)议员
Andre Heck,边做边学 METAPOST
汉斯·哈根(Hans Hagen),Metafun
答案2
您也可以尝试一下lualatex
这个luamplib
包裹。
如果您已安装完整的 MikTeX,则应该已经安装了 版本lualatex
,latex
因此 TeXnicCenter 应该已经创建了输出配置文件,内容类似于LuaLaTex -> PDF
。如果是这样,请选择此配置文件。如果没有,锻炼如何添加一个。
然后创建一个如下的文档:
\documentclass[border=5mm]{standalone}
\usepackage{luatex85}
\usepackage{luamplib}
\begin{document}
\mplibtextextlabel{enable}
\begin{mplibcode}
beginfig(1);
draw fullcircle xscaled 144 yscaled 89;
label("Hello \TeX", origin);
endfig;
\end{mplibcode}
\end{document}
并使用lualatex
输出模板对其进行编译。这将生成一个包含以下内容的 PDF 文件:
有几点需要注意:
您既需要
luatex85
和luamplib
包,也需要使用standalone
类。这
\mplibtextextlabel{enable}
行很重要,因为它使mplib
TeX 自动处理所有字符串标签。这意味着您不必处理btex
和etex
;您所要做的就是将字符串主要赋予label
它,它会完成剩下的工作。这很好,因为这意味着您会在 MP 绘图中自动使用与文档其余部分相同的字体。
这也意味着您可以做类似的事情
label("$" & decimal x & "$", origin);
(相信我,这很有用......)默认单位仍然是 PostScript 点 (72 = 1 英寸 = 2.54 厘米);
环境
\begin{mplibcode}...\end{mplibcode}
会生成一个水平模式框,其参考点设置为绘图的左下角。因此,上例中的标签位于中间,尽管我将其绘制在(0, 0)
。上的学习资源CTAN 上的 Metapost 页面都是有用的。
最后,你可能想阅读更多关于
luamplib
除了关于 TeXnicCenter 的细节之外,你的问题与这个。