Margoo

...?

EasyTex:在 EasyX 中使用 LaTeX! 铜牌收录

介绍

不知道各位是否又在 EasyX 中想要显示数学公式却难以实现的困扰呢?而现在,EasyTex,一个基于 EasyX 的简单的仿 LaTeX 排版引擎,或许可以帮你解决一些问题,EasyTex 非常轻量地实现了一些 LaTeX 中最基本的功能,或许能成为低配版 LaTeX 替代品。
当然,EasyTex 还有很多~~不足~~,我会在日后将这些不足完善,希望各位也不要吝啬建议,可以在 GitHub 的 issues 中提出你的看法!

完整源码

GitHub 仓库地址:https://github.com/FSMargoo/easytex

使用方法

您可以将 EasyTex 自行编译成 Lib 或者是 Dll,亦或者是你可以在你的项目中加入这两个文件:

easytex.cpp
easytex.h

就这样,就这么简单~

实例

下面是用 EasyTex 渲染一段 LaTeX 内容的实例:

#include "../easytex.h"

int main()
{
	initgraph(640, 480);
	setbkcolor(WHITE);
	cleardevice();

	BeginBatchDraw();

	TexRender Renderer;
	Renderer.TextHeight	 = 24;
	Renderer.LineSpacing = 2;

	Renderer.Rendering(TEXT(
						   R"(
\begin{align}
Base Line 我们构造一个蒙特卡洛积分(Monte\quad Carlo\quad Integration): \\
F_{N}=\frac{b-a}{N}\sum^{N}_{i=1}f(X_{i}) \\
其中地每一个 X_{i}(i=1,2,3,...,N) 为 [a,b] 之间的均匀连续随机变量。\\
其实 F_{N} 的数学期望即为积分结果 \Alpha E[F_{N}]=E[\frac{b-a}{N}\sum^{N}_{i=1}f(X_{i})] \\
所以有了 \int_{D}f(x)dx=\lim_{N\to\inf}\frac{1}{N}\sum^{N}_{i=1}\frac{f(X_{i})}{p(X_{i})}
\end{align}
)"),
					   40, 40);

	FlushBatchDraw();

	getmessage(EX_CHAR);

	return 0;
}

运行后,会有如下效果:

添加评论