Changeset 7463 for branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Formatters/SymbolicDataAnalysisExpressionLatexFormatter.cs
- Timestamp:
- 02/07/12 12:35:42 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.TimeSeries/HeuristicLab.Problems.DataAnalysis.Symbolic/3.4/Formatters/SymbolicDataAnalysisExpressionLatexFormatter.cs
r7460 r7463 33 33 [StorableClass] 34 34 public sealed class SymbolicDataAnalysisExpressionLatexFormatter : NamedItem, ISymbolicExpressionTreeStringFormatter { 35 private List<double> constants; 35 private readonly List<double> constants; 36 private int targetCount; 36 37 private int currentLag; 37 38 … … 57 58 StringBuilder strBuilder = new StringBuilder(); 58 59 constants.Clear(); 60 targetCount = 1; 59 61 strBuilder.AppendLine(FormatRecursively(symbolicExpressionTree.Root)); 60 62 return strBuilder.ToString(); … … 96 98 } else if (node.Symbol is Division) { 97 99 if (node.SubtreeCount == 1) { 98 strBuilder.Append(@" \cfrac{1 }{");100 strBuilder.Append(@" \cfrac{1"); 99 101 } else { 100 102 strBuilder.Append(@" \cfrac{ "); … … 160 162 strBuilder.Append(invokeNode.Symbol.FunctionName + @" \left( "); 161 163 } else if (node.Symbol is StartSymbol) { 162 strBuilder.Append(" Result& = ");164 strBuilder.Append("target_" + (targetCount++) + "(t) & = "); 163 165 } else if (node.Symbol is Argument) { 164 166 var argSym = node.Symbol as Argument; … … 197 199 strBuilder.Append(@" \cdot "); 198 200 } else if (node.Symbol is Division) { 199 strBuilder.Append(@" }{ \cfrac{ "); 201 if (node.SubtreeCount <= 2) 202 strBuilder.Append(@" }{ "); 203 else 204 strBuilder.Append(@" }{ \cfrac{ "); 200 205 } else if (node.Symbol is Average) { 201 206 strBuilder.Append(@" + "); … … 228 233 strBuilder.Append(" , "); 229 234 } else if (node.Symbol is StartSymbol) { 230 strBuilder.Append(@"\\" + Environment.NewLine + " & "); 235 strBuilder.Append(@"\\" + Environment.NewLine); 236 strBuilder.Append("target_" + (targetCount++) + "(t) & = "); 231 237 } else if (node.Symbol is Power) { 232 238 strBuilder.Append(@"\right) ^ { \operatorname{round} \left("); … … 253 259 } else if (node.Symbol is Division) { 254 260 strBuilder.Append("} "); 255 if (node.SubtreeCount > 1) 256 strBuilder.Append("{1} "); 257 for (int i = 1; i < node.SubtreeCount; i++) { 261 if (node.SubtreeCount == 1 || node.SubtreeCount == 2) 258 262 strBuilder.Append(" } "); 259 } 263 else 264 for (int i = 0; i < node.SubtreeCount; i++) { 265 strBuilder.Append(" } "); 266 } 260 267 } else if (node.Symbol is Average) { 261 268 strBuilder.Append(@" \right) ");
Note: See TracChangeset
for help on using the changeset viewer.