Adjusted sample file to demonstrate issues
This commit is contained in:
@@ -7,27 +7,14 @@
|
||||
mc:Ignorable="d"
|
||||
Title="MainWindow" Height="350" Width="525">
|
||||
<Grid>
|
||||
<local:LatexViewer FontSize="80">
|
||||
<!-- e^{\pi i}=-1\{\textrm{in the complex plane} \\\\-->
|
||||
|
||||
<local:LatexViewer FontSize="40">
|
||||
e^{\pi i}=-1\quad\{\textrm{in the complex plane} \\\\
|
||||
|
||||
a^x+a^y=a^{x+y} \\
|
||||
|
||||
log_ax^n=nlog_ax \\
|
||||
|
||||
M^1_2
|
||||
|
||||
<!-- A \ \alpha \quad N \ \nu \\-->
|
||||
<!-- B \ \beta \quad \Xi \ \xi \\-->
|
||||
<!-- \Gamma \ \gamma \quad O \ \omicron \\-->
|
||||
<!-- \Delta \ \delta \quad \Pi \ \pi \\-->
|
||||
<!-- E \ \epsilon \quad P \ \rho \\-->
|
||||
<!-- Z \ \zeta \quad \Sigma \ \sigma \\-->
|
||||
<!-- H \ \eta \quad T \ \tau \\-->
|
||||
<!-- \Theta \ \theta \quad Y \ \upsilon \\-->
|
||||
<!-- I \ \iota \quad \Phi \ \phi \\-->
|
||||
<!-- K \ \kappa \quad X \ \chi \\-->
|
||||
<!-- \Lambda \ \lambda \quad \Psi \ \psi \\-->
|
||||
<!-- M \ \mu \quad \Omega \ \omega-->
|
||||
log \sub b x \sup {n} = n \, log_b x \\ <!--adding brackets double counts some space-->
|
||||
log \sub b x \sup n = n \, log_{b} x \\
|
||||
|
||||
M^1_2 <!-- need to fix height calculations and adjust baseline accordingly -->
|
||||
|
||||
</local:LatexViewer>
|
||||
</Grid>
|
||||
|
||||
@@ -67,29 +67,34 @@ namespace LatexEditor.Parser.Segments
|
||||
val = new LatexGlyph(CmFont.Serif, LatexParser.GreekLetters[head.Value]);
|
||||
if (LatexParser.Spaces.ContainsKey(head.Value))
|
||||
val = new LatexSpace(LatexParser.Spaces[head.Value]);
|
||||
if (head.Value == "^")
|
||||
switch (head.Value)
|
||||
{
|
||||
if (PopLatexSegment(tokens, out var content))
|
||||
{
|
||||
val = content;
|
||||
val.Size *= 0.7;
|
||||
val.Offset = new Point(val.Offset.X, val.Offset.Y + 0.45);
|
||||
}
|
||||
}
|
||||
if (head.Value == "_")
|
||||
{
|
||||
if (PopLatexSegment(tokens, out var content))
|
||||
{
|
||||
val = content;
|
||||
val.Size *= 0.7;
|
||||
val.Offset = new Point(val.Offset.X, val.Offset.Y - 0.45);
|
||||
}
|
||||
case "^":
|
||||
case "sup":
|
||||
if (PopLatexSegment(tokens, out var content))
|
||||
{
|
||||
val = content;
|
||||
val.Size *= 0.7;
|
||||
val.Offset = new Point(val.Offset.X, val.Offset.Y + 0.45);
|
||||
}
|
||||
break;
|
||||
case "_":
|
||||
case "sub":
|
||||
if (PopLatexSegment(tokens, out content))
|
||||
{
|
||||
val = content;
|
||||
val.Size *= 0.7;
|
||||
val.Offset = new Point(val.Offset.X, val.Offset.Y - 0.45);
|
||||
}
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
case "escape":
|
||||
if (head.Value == "\\")
|
||||
val = new LatexReturn();
|
||||
else
|
||||
val = new LatexGlyph(CmFont.Serif, head.Value[0]);
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user