metafont

Metapost 如何在递归函数中返回值?
metafont

Metapost 如何在递归函数中返回值?

我正在尝试编写 B 样条的递归定义,但我无法编写递归,我的代码无法编译,因为我试图将“vacuous 分配给numeric”, 根据在线资源,要返回一个值,您需要省略末尾的分号。 但是这不能编译: vardef calculate_basis(expr t, i, order)= numeric ret; if order=0: index := knots[i]; if (t >= index) and (t < knots[i+1]): label.top(tex...

Admin

METAFONT 字符
metafont

METAFONT 字符

我通过以下程序成功生成了一个 METAFONT 字符。如何在 LaTeX/XeTeX 中使用它。 mf a.mf gftodvi a.2602gf a.dvi 即我应该使用什么包以及如何从 METAFONT 程序中使用“b”? mode_setup; % parameters are name, width, height over base line, depth below base line beginchar ("b", 9pt#, 14pt#, 0); % define points x1 = 0; y1 = 0; x9...

Admin

TeX 和 Metafont 及其参数变化之间的关系
metafont

TeX 和 Metafont 及其参数变化之间的关系

在“元字体的概念”Donald E. Knuth 以视觉方式探索了参数变化的可能性。但我有一些疑问: 他是否使用 TeX 排版该文章? TeX 是否允许连续改变参数?有时,即使在同一段落中,字母之间的变化也是可见的。在这种情况下,Metafont 和 TeX 之间的通信如何处理? 谢谢 ...

Admin

MetaPost/MetaFont 中的交叉点语义
metafont

MetaPost/MetaFont 中的交叉点语义

我可能发现了 MetaPost 和 MetaFont 中的一个错误,但在报告之前,我想确保它确实是一个错误。 从直观的角度来看,我期望如果两条路径有一个交点,那么其中一条路径应该与另一条路径的反向相交。 但是,以下 MetaPost/MetaFont 程序显示 MetaPost/MetaFont 有所不同。 path pa, pb; pair ta, tb; pa = (6.51782,19.85922)..controls (1.38812,14.72952) and (-1.67604,7.1873) ..(-1.67604,-...

Admin

西里尔字母的 LaTeX 手写字体
metafont

西里尔字母的 LaTeX 手写字体

如图所示LaTeX/XeTeX/LuaTeX 中的手写字体LateX 中有很多漂亮的手写字体,但所有这些字体都适用于T1。有没有类似于西里尔字母的东西? 问题补充:我可以使用 True type 2 Metatafont 转换器生成用于LaTeX (不是XeLaTeX) 的字体吗?我如何使用生成的.mf? ...

Admin

使用 feynmf 查找费曼图上缺失的标签
metafont

使用 feynmf 查找费曼图上缺失的标签

我正在尝试使用 feynmf 包创建费曼图。我的最小示例是 \documentclass{article} \usepackage{feynmf} \begin{document} \begin{fmffile}{diagram} \begin{fmfgraph*}(40,25) \fmfleft{i1,i2} \fmfright{o1,o2} \fmfbottom{b} \fmf{fermion}{i2,v1,o2} \fmf{photon}{v1,b} \fmflabel{i1}{i1} ...

Admin

可以用心形点缀您的 Is 吗?
metafont

可以用心形点缀您的 Is 吗?

我想知道是否可以用几乎相同的字母替换默认乳胶字体中的数学模式 i,但 i 上的点是一颗小心心。例如: 谢谢你! ...

Admin

如何在参数化宏中使用 penpos/penstroke?
metafont

如何在参数化宏中使用 penpos/penstroke?

我正在尝试使用基础版 MetaPost (Metafont?) 创建参数化宏,以使用 penpos 和 penstroke 宏绘制形状,plain.mp但出现错误。运行以下代码, def curve_st(expr p) = begingroup save z; pair z[]; z0 = p; z1 = p + (2,-2); z2 = z1 + (0, 5); z3 = z2 + (3, 0); penpos0(tip, 180); penpos1(stem, -30); p...

Admin

如何在 Metafont 中循环遍历 ligtable?
metafont

如何在 Metafont 中循环遍历 ligtable?

字距调整roman.mf是针对 Computer Modern Roman 字体定义的。 我想ligtable更有效地编写定义,但我尝试的一切都是错误的: % With macro def group_kerning(text L)(expr k)(text R) = ligtable for l=L: l: endfor for r=R: r kern k, endfor enddef; group_kerning("A", "F", "K")(k#)("C", "G");% wrong % Without macro ligtable for l=...

Admin

简化 Metafont 中 < 符号的代码
metafont

简化 Metafont 中 < 符号的代码

由于我是 Metafont 的新手,我仍然不确定我的代码是否高效。我想用一个新的圆角符号替换 Computer Modern 的小于符号。 我发现了两种方法: 第一个例子基于 2 个笔画。缺点:重叠(可以在 Fontforge 中移除,但移除会导致 2 个不必要的点)。 % ... Rest as in sym.mf compute_spread(5/4x_height#,3/2x_height#); beginchar(less,14u#,v_center(spread#+rule_thickness#)); italcorr h#*slant-u#; p...

Admin

Metafont 中的尖角?
metafont

Metafont 中的尖角?

Computer Modern 斜线的源代码是: cmchar "Virgule (slash)"; beginchar("/",9u#,body_height#,paren_depth#); italcorr body_height#*slant-.5u#; adjust_fit(0,0); pickup rule.nib; rt x1=hround(w-u)+eps; top y1=h+eps; lft x2=hround u-eps; bot y2=-d-eps; draw z1--z2; % diagonal penlabels(1,2); end...

Admin

mf2pt1 的结果错误
metafont

mf2pt1 的结果错误

我尝试将 Metafont 字体源的 cmr10 制作成矢量字体,但是看起来…… 只有一些正确的字形,几乎所有东西看起来都是错误的。 mf2pt1 cmr10.mf 你能告诉我哪里出了问题吗? 当我尝试 mf2pt1 grmn1000.mf 要获取希腊字体,情况就更糟了。有很多错误消息,而且没有生成文件。 ...

Admin

如何处理 mfplain 生成的文件?
metafont

如何处理 mfplain 生成的文件?

Metapost 可以使用 mfplain 处理 Metafont 源。 例子: mpost -mem=mfplain cmr10.mf 然后每个字形都会输出到单独的文件中,如下所示: cmr10.0 cmr10.1 cmr10.2 ... 我找不到任何关于如何使用这些文件的教程。我怎样才能将它们导入 FontForge?有人能告诉我该怎么做吗? ...

Admin

计算机现代原型数字
metafont

计算机现代原型数字

当我读数学排版,我注意到所呈现的原型字体(Computer Modern 字体系列的前身)有不同的数字(底部)。 我的问题是,是否有任何版本的字体可用并且仍然具有这种数字样式? ...

Admin

用传统指南针方法画角分线
metafont

用传统指南针方法画角分线

我正在尝试用指南针重现角平分线的构造。 以下是我目前得到的结果 vardef bisector(expr A, O, B, r) = save arc, E, F, I; path arc[] ; pair E, F, I[]; % Draw one arc of radius \r\ around center \O\ such that % it cuts \OA\ and \OB\ respectively at points \E\ and \F\. arc[0] = fullcircle scaled r shifted ...

Admin