public override string ToLaTeXString() { StringBuilder formulaString = new StringBuilder(); if ((argument1 is BinaryOperation) && (argument1.Type != BooleanOperations.AND) && ((argument1.Type != this.Type) || (argument1.Type == BooleanOperations.IMPLICATION) || (argument1.Type == BooleanOperations.SHEFFER_STROKE) || (argument1.Type == BooleanOperations.PIERCE_ARROW))) { formulaString.Append('('); formulaString.Append(argument1.ToLaTeXString()); formulaString.Append(')'); } else { formulaString.Append(argument1.ToLaTeXString()); } formulaString.Append(BooleanFormula.LaTeXOperations[(int)this.type]); if ((argument2 is BinaryOperation) && (argument2.Type != BooleanOperations.AND) && ((argument2.Type != this.Type) || (argument2.Type == BooleanOperations.IMPLICATION) || (argument2.Type == BooleanOperations.SHEFFER_STROKE) || (argument2.Type == BooleanOperations.PIERCE_ARROW))) { formulaString.Append('('); formulaString.Append(argument2.ToLaTeXString()); formulaString.Append(')'); } else { formulaString.Append(argument2.ToLaTeXString()); } return(formulaString.ToString()); }
public override string ToLaTeXString() { if (argument is BooleanVariable)//специальная обработка отрицаний над переменными { return("\\overline{" + (argument as BooleanVariable).Name + "}_" + (argument as BooleanVariable).Index); } return("\\overline{" + argument.ToLaTeXString() + "}"); }