5

我设法使用以下代码行制作了一个字符上标:

Paragraph p=new Paragraph();     
Span s = new Span();
s.BaselineAlignment = BaselineAlignment.Superscript;
s.Inlines.Add("2");
p.Inlines.Add(new Run("EXAMPLE 1 : Describe the behaviour of the function f(x)=(x"));
p.Inlines.Add(s);
p.Inlines.Add(new Run("-1)/(x-1) near x=1."));

但是可以写上标的上标吗?如下图所示:

g(x)=(1+x^2)^(1/x^2)

这里第二个 ^ 将是上标的上标。如何做到这一点?也让我知道是否有可能让程序理解x^2-1 = (x-1)(x+1),以及与这个方程类似的任何东西,甚至是第 n 次方程?

4

2 回答 2

4

您可以将 BaselineAlignment.Superscript 与 Typography.Variant="superscript" 结合起来,如下所示:

<Paragraph FontFamily="Palatino Linotype">
    <Run>g(x)=(1+x</Run>
    <Run Typography.Variants="Superscript">2</Run>
    <Run>)</Run>
    <Run BaselineAlignment="Superscript">(1/x</Run>
    <Run BaselineAlignment="Superscript" Typography.Variants="Superscript">2</Run>
    <Run BaselineAlignment="Superscript">)</Run>
</Paragraph>

这将为您提供如下输出: 方程

于 2013-07-30T11:48:59.627 回答
1

这个项目看起来很有希望:http: //blog.noldorin.com/2010/04/rendering-tex-math-in-wpf/

您的示例方程几乎可以不用修改的 TeX 表示法编写。见:http ://www.texrendr.com/?eqn=g(x)%3D(1%2Bx%5E2)%5E%7B(1%2Fx%5E2)%7D

于 2013-07-30T12:44:53.753 回答