Пример #1
0
        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());
        }
Пример #2
0
 public override string ToLaTeXString()
 {
     if (argument is BooleanVariable)//специальная обработка отрицаний над переменными
     {
         return("\\overline{" + (argument as BooleanVariable).Name + "}_" + (argument as BooleanVariable).Index);
     }
     return("\\overline{" + argument.ToLaTeXString() + "}");
 }