Compiler construction 是否有一种更简单/更清晰的语法(如Markdown)可以编译成LaTeX?

Compiler construction 是否有一种更简单/更清晰的语法(如Markdown)可以编译成LaTeX?,compiler-construction,syntax,latex,markdown,Compiler Construction,Syntax,Latex,Markdown,我喜欢乳胶。让我们一开始就直说吧 我唯一希望的是编译成LaTeX的更清晰的语法,比如HTML的标记。这是因为我所做的大多数简单文档创建(比如在课堂上记笔记)都可以更快、更好,如果我可以只键入1/2,而不是\frac{1}{2},并将其编译成一个整洁的分数。我了解并使用AucTeX,它有助于加快键入速度,但它仍然不是很清晰,通常更容易出现语法错误 如果存在编译成LaTeX的更简单语法,请在下面的答案中告诉我。如果没有什么令人满意的,我很想开始一个开源项目来实现这个目标,但我想先知道现有的替代方案。

我喜欢乳胶。让我们一开始就直说吧

我唯一希望的是编译成LaTeX的更清晰的语法,比如HTML的标记。这是因为我所做的大多数简单文档创建(比如在课堂上记笔记)都可以更快、更好,如果我可以只键入
1/2
,而不是
\frac{1}{2}
,并将其编译成一个整洁的分数。我了解并使用AucTeX,它有助于加快键入速度,但它仍然不是很清晰,通常更容易出现语法错误


如果存在编译成LaTeX的更简单语法,请在下面的答案中告诉我。如果没有什么令人满意的,我很想开始一个开源项目来实现这个目标,但我想先知道现有的替代方案。

我不知道其他更简单的LaTeX语法


但是,还有一个XML-to-TeX/LaTeX转换器。一开始可能听起来很奇怪,但通过将自定义语法转换为XML,然后调用TeXML,可以使自定义语法变得更容易。TeX语法很棘手:有意义的空行,TeX特殊字符,通常也缺少unicode。。。TeXML使处理所有这些变得更容易。

如果你只考虑最简单的情况,你将会受到伤害<代码>\frac{1}{2}太简单了

对于以下各项,您将使用什么作为简单语法:

\frac{1}{x+1}

\frac{1}{x}+1

\frac{x^2}{x+1}

x^\frac{2}{x+1}

\frac{x}{{x+1}^2}

\frac{x}{x+1}^2

如果您的第一次尝试没有包含多个重复项(冲突),我会非常惊讶。

降价实现中存在一个。还有另一个名为“允许内联乳胶数学”。可以具有内联LaTeX数学,并可以导出到LaTeX。可能还有其他人。然而,所有这些(AFAIK)都没有为数学运算提供另一种语法

根据维基百科的说法,有几个。虽然它是用JavaScript编写的,但您可能对它感兴趣


您可能需要自己编写一些东西,但是寻找使用干净语法(如Ascimathml)的块的降价扩展会很好。

我知道您在寻找更简单的代码,而不是新的编辑器,您说您使用AucTeX(我不知道这是否有帮助),但是for Eclipse有一些很好的编辑特性,可以加快输入速度,包括添加end-brages}和end-commands\end{env},并允许使用大括号外的制表符。只是想一想。

使用双尖括号中的ascimathml语法:

<<x/2>>  

可以编译成LaTeX(语言本身比TeX简单得多,尽管它仍然使用TeX语法来表示公式),见文章。存在对StructuredText的各种扩展,如


您还可以查看哪些可以读取任何格式(包括)的数学,并且有一个菜单选项可以将数学显示为TeX。

您应该真正检查一下,哪一个在markdown和latex之间具有良好的集成。很好的一点是,你可以直接将latex放入内联,以应对降价太简单的不确定因素。

latex已经是一种更简单的TeX了。。。这里的基本问题是什么都能做。以您选择的分数为例:使其起作用,将使您更难说出何时需要“1”后跟“/”后跟“2”,所有这些都采用标准文本模式和字体(可能是在键入日期的上下文中)。。。所以问题变成了“哪些用例足够特殊,以牺牲所有其他用例为代价使它们默认?”。还要注意的是,降价不能做某些事情——这是很容易就可以做其他事情的代价。@dmckee:在
1/2
示例中,我希望它仅在数学模式下将
1/2
转换成分数。这不合理吗?@dmckee:但是是的,你说的有道理。我只是在想,你用LaTeX做的很多事情都比其他的要普遍得多,如果你想用LaTeX快速记笔记或简单的文档,使用简单的语法是很有意义的。如果您想创建更复杂的文档并利用其更模糊的功能,您可以使用完整的语法。例如,我喜欢在课堂上做笔记时使用较短的语法。在mathmode中,将分数排版/作为分数可能是有意义的,但有时你需要将分数水平排版,以便在文本块中使用它们。这可能是一个好例子,也可能不是一个好例子,但当您尝试这样做时,您在确定用例优先级方面给自己设置了一个巨大的问题。这可能是可以做到的,但可能并不容易,而且肯定不会普遍适用。@dmckee:你说得对。不过,我的想法是,默认情况下只选择更简单的用例,在课堂上快速做笔记后,创建一个功能性文档。然后,如果您想将一些分数更改为内联分数,您可以直接编辑LaTeX代码以满足这一需要。这种更简单的语法对于快速生成带有一些基本设置的文档非常有用,而且当你有更多时间时,可以进行更多的微调。这就是那些示例的样子:
1/(x+1)
1/x+1
(x^2)/(x+1)
x^(2/(x+1))
x/(x+1)^2)
(x/(x+1))^2
和我的简单语法会自动将圆括号解析成分数,并在需要圆括号的地方添加圆括号(
\left(
\right)
),以使等式更加清晰。但是如果不需要圆括号呢?或者如果你这样做呢?如果可以很容易地自动计算出来,你不认为Knuth会这样做吗?@hadley:好吧,如果你仔细想想,你只需要在东西周围加上括号,就可以对它们进行逻辑分组,以便在t上执行操作