How to write Quadratic equation with negative coefficient












11















How to write Quadratic equation with negative coefficient in fp






For a=1, b=-5, c= 6, $ca x^2+cb x + cc=0$ gives 1x^2 + -5x + 6



But i want to have x^2 -5x + 6




documentclass{beamer}
usepackage{fp}
begin{document}
begin{frame}{Quadratic equation}
FPsetca{1}
FPsetcb{-5}
FPsetcc{6}
FPqsolvexonextwocacbcc
FPevalxone{clip(round(xone:4))}
FPevalxtwo{clip(round(xtwo:4))}
Quadratic equation : $ca x^2+cb x + cc=0$\[1cm]
Result: $x = xone quad text{and} quad x = xtwo$
end{frame}
end{document}









share|improve this question





























    11















    How to write Quadratic equation with negative coefficient in fp






    For a=1, b=-5, c= 6, $ca x^2+cb x + cc=0$ gives 1x^2 + -5x + 6



    But i want to have x^2 -5x + 6




    documentclass{beamer}
    usepackage{fp}
    begin{document}
    begin{frame}{Quadratic equation}
    FPsetca{1}
    FPsetcb{-5}
    FPsetcc{6}
    FPqsolvexonextwocacbcc
    FPevalxone{clip(round(xone:4))}
    FPevalxtwo{clip(round(xtwo:4))}
    Quadratic equation : $ca x^2+cb x + cc=0$\[1cm]
    Result: $x = xone quad text{and} quad x = xtwo$
    end{frame}
    end{document}









    share|improve this question



























      11












      11








      11


      2






      How to write Quadratic equation with negative coefficient in fp






      For a=1, b=-5, c= 6, $ca x^2+cb x + cc=0$ gives 1x^2 + -5x + 6



      But i want to have x^2 -5x + 6




      documentclass{beamer}
      usepackage{fp}
      begin{document}
      begin{frame}{Quadratic equation}
      FPsetca{1}
      FPsetcb{-5}
      FPsetcc{6}
      FPqsolvexonextwocacbcc
      FPevalxone{clip(round(xone:4))}
      FPevalxtwo{clip(round(xtwo:4))}
      Quadratic equation : $ca x^2+cb x + cc=0$\[1cm]
      Result: $x = xone quad text{and} quad x = xtwo$
      end{frame}
      end{document}









      share|improve this question
















      How to write Quadratic equation with negative coefficient in fp






      For a=1, b=-5, c= 6, $ca x^2+cb x + cc=0$ gives 1x^2 + -5x + 6



      But i want to have x^2 -5x + 6




      documentclass{beamer}
      usepackage{fp}
      begin{document}
      begin{frame}{Quadratic equation}
      FPsetca{1}
      FPsetcb{-5}
      FPsetcc{6}
      FPqsolvexonextwocacbcc
      FPevalxone{clip(round(xone:4))}
      FPevalxtwo{clip(round(xtwo:4))}
      Quadratic equation : $ca x^2+cb x + cc=0$\[1cm]
      Result: $x = xone quad text{and} quad x = xtwo$
      end{frame}
      end{document}






      fp






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Mar 21 at 3:52







      sandu

















      asked Mar 20 at 9:54









      sandusandu

      3,72342856




      3,72342856






















          3 Answers
          3






          active

          oldest

          votes


















          10














          Some comparison are necessary. This assumes the coefficients are integers.



          documentclass{beamer}
          usepackage{fp}

          newcommand{quadratic}[4][x]{%
          FPsetca{#2}%
          FPsetcb{#3}%
          FPsetcc{#4}%
          FPqsolvexonextwocacbcc
          FPevalxone{clip(round(xone:4))}%
          FPevalxtwo{clip(round(xtwo:4))}%
          Quadratic equation: $
          ifnumca=1
          else
          ifnumca=-1
          -%
          else
          ca
          fi
          fi
          #1^2%
          ifnumcb=0
          else
          ifnumcb>0
          +%
          ifnumcb=1
          else
          cb
          fi
          else
          ifnumcb=-1
          -%
          else
          cb
          fi
          fi
          #1%
          fi
          ifnumcc=0
          else
          ifnumcc>0
          +
          fi
          cc
          fi
          $\[bigskipamount]
          Result: $#1=xone$ and $#1=xtwo$%
          }

          begin{document}
          begin{frame}{Quadratic equation}

          quadratic{1}{-5}{6}

          bigskip

          quadratic[t]{2}{3}{1}

          bigskip

          quadratic{2}{0}{-8}

          end{frame}
          end{document}


          With expl3:



          documentclass{beamer}
          usepackage{xparse}

          ExplSyntaxOn

          NewDocumentCommand{quadratic}{O{x}mmm}
          {
          Quadratic~equation:~$
          str_case:nnF { #2 }
          {
          {1}{}
          {-1}{-}
          }
          {#2}
          #1^{2}
          str_case:nnF { #3 }
          {
          {0}{}
          {1}{+#1}
          {-1}{-#1}
          }
          { fp_compare:nT { #3>0 } { + } #3#1 }
          fp_compare:nF { #4 = 0 }
          {
          fp_compare:nT { #4 > 0 } { + }
          }
          #4
          $\[bigskipamount]
          Result:~$#1=sandu_solve:nnnn{+}{#2}{#3}{#4}$~and~
          $#1=sandu_solve:nnnn{-}{#2}{#3}{#4}$
          }
          cs_new:Nn sandu_solve:nnnn
          {
          fp_eval:n { round( ( -(#3) #1 sqrt((#3)^2-4*(#2)*(#4)) )/(2*(#2)), 4) }
          }
          ExplSyntaxOff

          begin{document}
          begin{frame}{Quadratic equation}

          quadratic{1}{-5}{6}

          bigskip

          quadratic[t]{2}{3}{1}

          bigskip

          quadratic{2}{0}{-8}

          end{frame}
          end{document}


          expl3






          share|improve this answer

































            6














            Will also work with addterm -5x in addition to the intended addtermcb x.



            The addterm macro takes a single argument, expands it once, and passes it to addtermaux. The addtermaux definition will grab the first token of the argument and examine to see if it is a minus - character. If so, it typesets a - and the rest of the argument. If not, it sees whether the first token was a + character. If so, it typesets a + and the rest of the argument. If neither of the above cases apply, it typesets a + and the complete argument.



            In this way, the right output is provided whether cc is set to 6 or set to +6.



            documentclass{beamer}
            usepackage{fp}
            newcommandaddterm[1]{expandafteraddtermaux#1relax}
            defaddtermaux#1#2relax{ifx-#1-#2elseifx+#1+#2else+#1#2fifi}
            begin{document}
            begin{frame}{Quadratic equation}
            FPsetca{1}
            FPsetcb{-5}
            FPsetcc{6}
            FPqsolvexonextwocacbcc
            FPevalxone{clip(round(xone:4))}
            FPevalxtwo{clip(round(xtwo:4))}
            Quadratic equation : $ca x^2 addtermcb x addtermcc=0$\[1cm]
            Result: $x = xone quad text{and} quad x = xtwo$
            end{frame}
            end{document}


            enter image description here






            share|improve this answer


























            • could you explain newcommand and def...

              – sandu
              Mar 20 at 11:27











            • @sandu I have edited the answer to provide context.

              – Steven B. Segletes
              Mar 20 at 11:32



















            4















            Edit: See below an improved version.




            Note the [fragile] in begin{frame}. Necessary with FPifpos.



            documentclass{beamer}
            usepackage{fp}
            begin{document}
            begin{frame}[fragile]{Quadratic equation}
            FPsetca{1}
            FPsetcb{-5}
            FPsetcc{6}
            FPqsolvexonextwocacbcc
            FPevalxone{clip(round(xone:4))}
            FPevalxtwo{clip(round(xtwo:4))}
            FPevalbabs{clip(round(abs(cb):4))}
            FPevalcabs{clip(round(abs(cc):4))}

            Quadratic equation : $ca x^2$ FPifposcb $+$ else $-$ fi $babs x$ FPifposcc $+$ else $-$ fi $cabs=0$ %\[1cm]

            Result: $x = xone quad text{and} quad x = xtwo$


            end{frame}
            end{document}


            enter image description here



            Improved version



            This version handle better special situations (when some coefficients of the equation became -1, 1 or 0).



            As fp's FPqsolve doesn't handle equations without solutions (it emit an error), my code don't display correctly equations where the "x^2" AND the "x" term are null (it display, when the compiler don't stop at errors, something like: Quadratic equation: +6 = 0). This code is intended to be used only when the equation has real(s) solution(s).



            documentclass{beamer}
            usepackage{fp}
            begin{document}
            begin{frame}[fragile]{Quadratic equation}
            FPsetca{1}
            FPsetcb{-5}
            FPsetcc{6}
            FPqsolvexonextwocacbcc
            FPevalxone{clip(round(xone:4))}
            FPevalxtwo{clip(round(xtwo:4))}
            FPevalaabs{clip(round(abs(ca):4))}
            FPevalbabs{clip(round(abs(cb):4))}
            FPevalcabs{clip(round(abs(cc):4))}
            newcommand{signa}{FPifnegca -elsefi}
            newcommand{positiveSignBWithA}{FPifzeroca else +fi} % if ca is 0, no positive sign before the "x" term if cb is positive
            newcommand{signb}{FPifnegcb -else positiveSignBWithAfi}
            newcommand{signc}{FPifnegcc -else +fi}
            newcommand{coeffa}{FPifeqaabs1 elseaabsfi}
            newcommand{coeffb}{FPifeqbabs1 elsebabsfi}
            newcommand{polya}{FPifzeroca elsesignacoeffa x^2fi}
            newcommand{polyb}{FPifzerocb elsesignbcoeffb xfi}
            newcommand{polyc}{FPifzerocc elsesignccabsfi}

            Quadratic equation : $polya polyb polyc =0$ \[1cm]

            Result: $x = xone quad text{and} quad x = xtwo$

            end{frame}
            end{document}


            enter image description here






            share|improve this answer


























              Your Answer








              StackExchange.ready(function() {
              var channelOptions = {
              tags: "".split(" "),
              id: "85"
              };
              initTagRenderer("".split(" "), "".split(" "), channelOptions);

              StackExchange.using("externalEditor", function() {
              // Have to fire editor after snippets, if snippets enabled
              if (StackExchange.settings.snippets.snippetsEnabled) {
              StackExchange.using("snippets", function() {
              createEditor();
              });
              }
              else {
              createEditor();
              }
              });

              function createEditor() {
              StackExchange.prepareEditor({
              heartbeatType: 'answer',
              autoActivateHeartbeat: false,
              convertImagesToLinks: false,
              noModals: true,
              showLowRepImageUploadWarning: true,
              reputationToPostImages: null,
              bindNavPrevention: true,
              postfix: "",
              imageUploader: {
              brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
              contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
              allowUrls: true
              },
              onDemand: true,
              discardSelector: ".discard-answer"
              ,immediatelyShowMarkdownHelp:true
              });


              }
              });














              draft saved

              draft discarded


















              StackExchange.ready(
              function () {
              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f480444%2fhow-to-write-quadratic-equation-with-negative-coefficient%23new-answer', 'question_page');
              }
              );

              Post as a guest















              Required, but never shown

























              3 Answers
              3






              active

              oldest

              votes








              3 Answers
              3






              active

              oldest

              votes









              active

              oldest

              votes






              active

              oldest

              votes









              10














              Some comparison are necessary. This assumes the coefficients are integers.



              documentclass{beamer}
              usepackage{fp}

              newcommand{quadratic}[4][x]{%
              FPsetca{#2}%
              FPsetcb{#3}%
              FPsetcc{#4}%
              FPqsolvexonextwocacbcc
              FPevalxone{clip(round(xone:4))}%
              FPevalxtwo{clip(round(xtwo:4))}%
              Quadratic equation: $
              ifnumca=1
              else
              ifnumca=-1
              -%
              else
              ca
              fi
              fi
              #1^2%
              ifnumcb=0
              else
              ifnumcb>0
              +%
              ifnumcb=1
              else
              cb
              fi
              else
              ifnumcb=-1
              -%
              else
              cb
              fi
              fi
              #1%
              fi
              ifnumcc=0
              else
              ifnumcc>0
              +
              fi
              cc
              fi
              $\[bigskipamount]
              Result: $#1=xone$ and $#1=xtwo$%
              }

              begin{document}
              begin{frame}{Quadratic equation}

              quadratic{1}{-5}{6}

              bigskip

              quadratic[t]{2}{3}{1}

              bigskip

              quadratic{2}{0}{-8}

              end{frame}
              end{document}


              With expl3:



              documentclass{beamer}
              usepackage{xparse}

              ExplSyntaxOn

              NewDocumentCommand{quadratic}{O{x}mmm}
              {
              Quadratic~equation:~$
              str_case:nnF { #2 }
              {
              {1}{}
              {-1}{-}
              }
              {#2}
              #1^{2}
              str_case:nnF { #3 }
              {
              {0}{}
              {1}{+#1}
              {-1}{-#1}
              }
              { fp_compare:nT { #3>0 } { + } #3#1 }
              fp_compare:nF { #4 = 0 }
              {
              fp_compare:nT { #4 > 0 } { + }
              }
              #4
              $\[bigskipamount]
              Result:~$#1=sandu_solve:nnnn{+}{#2}{#3}{#4}$~and~
              $#1=sandu_solve:nnnn{-}{#2}{#3}{#4}$
              }
              cs_new:Nn sandu_solve:nnnn
              {
              fp_eval:n { round( ( -(#3) #1 sqrt((#3)^2-4*(#2)*(#4)) )/(2*(#2)), 4) }
              }
              ExplSyntaxOff

              begin{document}
              begin{frame}{Quadratic equation}

              quadratic{1}{-5}{6}

              bigskip

              quadratic[t]{2}{3}{1}

              bigskip

              quadratic{2}{0}{-8}

              end{frame}
              end{document}


              expl3






              share|improve this answer






























                10














                Some comparison are necessary. This assumes the coefficients are integers.



                documentclass{beamer}
                usepackage{fp}

                newcommand{quadratic}[4][x]{%
                FPsetca{#2}%
                FPsetcb{#3}%
                FPsetcc{#4}%
                FPqsolvexonextwocacbcc
                FPevalxone{clip(round(xone:4))}%
                FPevalxtwo{clip(round(xtwo:4))}%
                Quadratic equation: $
                ifnumca=1
                else
                ifnumca=-1
                -%
                else
                ca
                fi
                fi
                #1^2%
                ifnumcb=0
                else
                ifnumcb>0
                +%
                ifnumcb=1
                else
                cb
                fi
                else
                ifnumcb=-1
                -%
                else
                cb
                fi
                fi
                #1%
                fi
                ifnumcc=0
                else
                ifnumcc>0
                +
                fi
                cc
                fi
                $\[bigskipamount]
                Result: $#1=xone$ and $#1=xtwo$%
                }

                begin{document}
                begin{frame}{Quadratic equation}

                quadratic{1}{-5}{6}

                bigskip

                quadratic[t]{2}{3}{1}

                bigskip

                quadratic{2}{0}{-8}

                end{frame}
                end{document}


                With expl3:



                documentclass{beamer}
                usepackage{xparse}

                ExplSyntaxOn

                NewDocumentCommand{quadratic}{O{x}mmm}
                {
                Quadratic~equation:~$
                str_case:nnF { #2 }
                {
                {1}{}
                {-1}{-}
                }
                {#2}
                #1^{2}
                str_case:nnF { #3 }
                {
                {0}{}
                {1}{+#1}
                {-1}{-#1}
                }
                { fp_compare:nT { #3>0 } { + } #3#1 }
                fp_compare:nF { #4 = 0 }
                {
                fp_compare:nT { #4 > 0 } { + }
                }
                #4
                $\[bigskipamount]
                Result:~$#1=sandu_solve:nnnn{+}{#2}{#3}{#4}$~and~
                $#1=sandu_solve:nnnn{-}{#2}{#3}{#4}$
                }
                cs_new:Nn sandu_solve:nnnn
                {
                fp_eval:n { round( ( -(#3) #1 sqrt((#3)^2-4*(#2)*(#4)) )/(2*(#2)), 4) }
                }
                ExplSyntaxOff

                begin{document}
                begin{frame}{Quadratic equation}

                quadratic{1}{-5}{6}

                bigskip

                quadratic[t]{2}{3}{1}

                bigskip

                quadratic{2}{0}{-8}

                end{frame}
                end{document}


                expl3






                share|improve this answer




























                  10












                  10








                  10







                  Some comparison are necessary. This assumes the coefficients are integers.



                  documentclass{beamer}
                  usepackage{fp}

                  newcommand{quadratic}[4][x]{%
                  FPsetca{#2}%
                  FPsetcb{#3}%
                  FPsetcc{#4}%
                  FPqsolvexonextwocacbcc
                  FPevalxone{clip(round(xone:4))}%
                  FPevalxtwo{clip(round(xtwo:4))}%
                  Quadratic equation: $
                  ifnumca=1
                  else
                  ifnumca=-1
                  -%
                  else
                  ca
                  fi
                  fi
                  #1^2%
                  ifnumcb=0
                  else
                  ifnumcb>0
                  +%
                  ifnumcb=1
                  else
                  cb
                  fi
                  else
                  ifnumcb=-1
                  -%
                  else
                  cb
                  fi
                  fi
                  #1%
                  fi
                  ifnumcc=0
                  else
                  ifnumcc>0
                  +
                  fi
                  cc
                  fi
                  $\[bigskipamount]
                  Result: $#1=xone$ and $#1=xtwo$%
                  }

                  begin{document}
                  begin{frame}{Quadratic equation}

                  quadratic{1}{-5}{6}

                  bigskip

                  quadratic[t]{2}{3}{1}

                  bigskip

                  quadratic{2}{0}{-8}

                  end{frame}
                  end{document}


                  With expl3:



                  documentclass{beamer}
                  usepackage{xparse}

                  ExplSyntaxOn

                  NewDocumentCommand{quadratic}{O{x}mmm}
                  {
                  Quadratic~equation:~$
                  str_case:nnF { #2 }
                  {
                  {1}{}
                  {-1}{-}
                  }
                  {#2}
                  #1^{2}
                  str_case:nnF { #3 }
                  {
                  {0}{}
                  {1}{+#1}
                  {-1}{-#1}
                  }
                  { fp_compare:nT { #3>0 } { + } #3#1 }
                  fp_compare:nF { #4 = 0 }
                  {
                  fp_compare:nT { #4 > 0 } { + }
                  }
                  #4
                  $\[bigskipamount]
                  Result:~$#1=sandu_solve:nnnn{+}{#2}{#3}{#4}$~and~
                  $#1=sandu_solve:nnnn{-}{#2}{#3}{#4}$
                  }
                  cs_new:Nn sandu_solve:nnnn
                  {
                  fp_eval:n { round( ( -(#3) #1 sqrt((#3)^2-4*(#2)*(#4)) )/(2*(#2)), 4) }
                  }
                  ExplSyntaxOff

                  begin{document}
                  begin{frame}{Quadratic equation}

                  quadratic{1}{-5}{6}

                  bigskip

                  quadratic[t]{2}{3}{1}

                  bigskip

                  quadratic{2}{0}{-8}

                  end{frame}
                  end{document}


                  expl3






                  share|improve this answer















                  Some comparison are necessary. This assumes the coefficients are integers.



                  documentclass{beamer}
                  usepackage{fp}

                  newcommand{quadratic}[4][x]{%
                  FPsetca{#2}%
                  FPsetcb{#3}%
                  FPsetcc{#4}%
                  FPqsolvexonextwocacbcc
                  FPevalxone{clip(round(xone:4))}%
                  FPevalxtwo{clip(round(xtwo:4))}%
                  Quadratic equation: $
                  ifnumca=1
                  else
                  ifnumca=-1
                  -%
                  else
                  ca
                  fi
                  fi
                  #1^2%
                  ifnumcb=0
                  else
                  ifnumcb>0
                  +%
                  ifnumcb=1
                  else
                  cb
                  fi
                  else
                  ifnumcb=-1
                  -%
                  else
                  cb
                  fi
                  fi
                  #1%
                  fi
                  ifnumcc=0
                  else
                  ifnumcc>0
                  +
                  fi
                  cc
                  fi
                  $\[bigskipamount]
                  Result: $#1=xone$ and $#1=xtwo$%
                  }

                  begin{document}
                  begin{frame}{Quadratic equation}

                  quadratic{1}{-5}{6}

                  bigskip

                  quadratic[t]{2}{3}{1}

                  bigskip

                  quadratic{2}{0}{-8}

                  end{frame}
                  end{document}


                  With expl3:



                  documentclass{beamer}
                  usepackage{xparse}

                  ExplSyntaxOn

                  NewDocumentCommand{quadratic}{O{x}mmm}
                  {
                  Quadratic~equation:~$
                  str_case:nnF { #2 }
                  {
                  {1}{}
                  {-1}{-}
                  }
                  {#2}
                  #1^{2}
                  str_case:nnF { #3 }
                  {
                  {0}{}
                  {1}{+#1}
                  {-1}{-#1}
                  }
                  { fp_compare:nT { #3>0 } { + } #3#1 }
                  fp_compare:nF { #4 = 0 }
                  {
                  fp_compare:nT { #4 > 0 } { + }
                  }
                  #4
                  $\[bigskipamount]
                  Result:~$#1=sandu_solve:nnnn{+}{#2}{#3}{#4}$~and~
                  $#1=sandu_solve:nnnn{-}{#2}{#3}{#4}$
                  }
                  cs_new:Nn sandu_solve:nnnn
                  {
                  fp_eval:n { round( ( -(#3) #1 sqrt((#3)^2-4*(#2)*(#4)) )/(2*(#2)), 4) }
                  }
                  ExplSyntaxOff

                  begin{document}
                  begin{frame}{Quadratic equation}

                  quadratic{1}{-5}{6}

                  bigskip

                  quadratic[t]{2}{3}{1}

                  bigskip

                  quadratic{2}{0}{-8}

                  end{frame}
                  end{document}


                  expl3







                  share|improve this answer














                  share|improve this answer



                  share|improve this answer








                  edited Mar 20 at 11:44

























                  answered Mar 20 at 11:27









                  egregegreg

                  730k8819283242




                  730k8819283242























                      6














                      Will also work with addterm -5x in addition to the intended addtermcb x.



                      The addterm macro takes a single argument, expands it once, and passes it to addtermaux. The addtermaux definition will grab the first token of the argument and examine to see if it is a minus - character. If so, it typesets a - and the rest of the argument. If not, it sees whether the first token was a + character. If so, it typesets a + and the rest of the argument. If neither of the above cases apply, it typesets a + and the complete argument.



                      In this way, the right output is provided whether cc is set to 6 or set to +6.



                      documentclass{beamer}
                      usepackage{fp}
                      newcommandaddterm[1]{expandafteraddtermaux#1relax}
                      defaddtermaux#1#2relax{ifx-#1-#2elseifx+#1+#2else+#1#2fifi}
                      begin{document}
                      begin{frame}{Quadratic equation}
                      FPsetca{1}
                      FPsetcb{-5}
                      FPsetcc{6}
                      FPqsolvexonextwocacbcc
                      FPevalxone{clip(round(xone:4))}
                      FPevalxtwo{clip(round(xtwo:4))}
                      Quadratic equation : $ca x^2 addtermcb x addtermcc=0$\[1cm]
                      Result: $x = xone quad text{and} quad x = xtwo$
                      end{frame}
                      end{document}


                      enter image description here






                      share|improve this answer


























                      • could you explain newcommand and def...

                        – sandu
                        Mar 20 at 11:27











                      • @sandu I have edited the answer to provide context.

                        – Steven B. Segletes
                        Mar 20 at 11:32
















                      6














                      Will also work with addterm -5x in addition to the intended addtermcb x.



                      The addterm macro takes a single argument, expands it once, and passes it to addtermaux. The addtermaux definition will grab the first token of the argument and examine to see if it is a minus - character. If so, it typesets a - and the rest of the argument. If not, it sees whether the first token was a + character. If so, it typesets a + and the rest of the argument. If neither of the above cases apply, it typesets a + and the complete argument.



                      In this way, the right output is provided whether cc is set to 6 or set to +6.



                      documentclass{beamer}
                      usepackage{fp}
                      newcommandaddterm[1]{expandafteraddtermaux#1relax}
                      defaddtermaux#1#2relax{ifx-#1-#2elseifx+#1+#2else+#1#2fifi}
                      begin{document}
                      begin{frame}{Quadratic equation}
                      FPsetca{1}
                      FPsetcb{-5}
                      FPsetcc{6}
                      FPqsolvexonextwocacbcc
                      FPevalxone{clip(round(xone:4))}
                      FPevalxtwo{clip(round(xtwo:4))}
                      Quadratic equation : $ca x^2 addtermcb x addtermcc=0$\[1cm]
                      Result: $x = xone quad text{and} quad x = xtwo$
                      end{frame}
                      end{document}


                      enter image description here






                      share|improve this answer


























                      • could you explain newcommand and def...

                        – sandu
                        Mar 20 at 11:27











                      • @sandu I have edited the answer to provide context.

                        – Steven B. Segletes
                        Mar 20 at 11:32














                      6












                      6








                      6







                      Will also work with addterm -5x in addition to the intended addtermcb x.



                      The addterm macro takes a single argument, expands it once, and passes it to addtermaux. The addtermaux definition will grab the first token of the argument and examine to see if it is a minus - character. If so, it typesets a - and the rest of the argument. If not, it sees whether the first token was a + character. If so, it typesets a + and the rest of the argument. If neither of the above cases apply, it typesets a + and the complete argument.



                      In this way, the right output is provided whether cc is set to 6 or set to +6.



                      documentclass{beamer}
                      usepackage{fp}
                      newcommandaddterm[1]{expandafteraddtermaux#1relax}
                      defaddtermaux#1#2relax{ifx-#1-#2elseifx+#1+#2else+#1#2fifi}
                      begin{document}
                      begin{frame}{Quadratic equation}
                      FPsetca{1}
                      FPsetcb{-5}
                      FPsetcc{6}
                      FPqsolvexonextwocacbcc
                      FPevalxone{clip(round(xone:4))}
                      FPevalxtwo{clip(round(xtwo:4))}
                      Quadratic equation : $ca x^2 addtermcb x addtermcc=0$\[1cm]
                      Result: $x = xone quad text{and} quad x = xtwo$
                      end{frame}
                      end{document}


                      enter image description here






                      share|improve this answer















                      Will also work with addterm -5x in addition to the intended addtermcb x.



                      The addterm macro takes a single argument, expands it once, and passes it to addtermaux. The addtermaux definition will grab the first token of the argument and examine to see if it is a minus - character. If so, it typesets a - and the rest of the argument. If not, it sees whether the first token was a + character. If so, it typesets a + and the rest of the argument. If neither of the above cases apply, it typesets a + and the complete argument.



                      In this way, the right output is provided whether cc is set to 6 or set to +6.



                      documentclass{beamer}
                      usepackage{fp}
                      newcommandaddterm[1]{expandafteraddtermaux#1relax}
                      defaddtermaux#1#2relax{ifx-#1-#2elseifx+#1+#2else+#1#2fifi}
                      begin{document}
                      begin{frame}{Quadratic equation}
                      FPsetca{1}
                      FPsetcb{-5}
                      FPsetcc{6}
                      FPqsolvexonextwocacbcc
                      FPevalxone{clip(round(xone:4))}
                      FPevalxtwo{clip(round(xtwo:4))}
                      Quadratic equation : $ca x^2 addtermcb x addtermcc=0$\[1cm]
                      Result: $x = xone quad text{and} quad x = xtwo$
                      end{frame}
                      end{document}


                      enter image description here







                      share|improve this answer














                      share|improve this answer



                      share|improve this answer








                      edited Mar 20 at 11:49

























                      answered Mar 20 at 11:20









                      Steven B. SegletesSteven B. Segletes

                      160k9204413




                      160k9204413













                      • could you explain newcommand and def...

                        – sandu
                        Mar 20 at 11:27











                      • @sandu I have edited the answer to provide context.

                        – Steven B. Segletes
                        Mar 20 at 11:32



















                      • could you explain newcommand and def...

                        – sandu
                        Mar 20 at 11:27











                      • @sandu I have edited the answer to provide context.

                        – Steven B. Segletes
                        Mar 20 at 11:32

















                      could you explain newcommand and def...

                      – sandu
                      Mar 20 at 11:27





                      could you explain newcommand and def...

                      – sandu
                      Mar 20 at 11:27













                      @sandu I have edited the answer to provide context.

                      – Steven B. Segletes
                      Mar 20 at 11:32





                      @sandu I have edited the answer to provide context.

                      – Steven B. Segletes
                      Mar 20 at 11:32











                      4















                      Edit: See below an improved version.




                      Note the [fragile] in begin{frame}. Necessary with FPifpos.



                      documentclass{beamer}
                      usepackage{fp}
                      begin{document}
                      begin{frame}[fragile]{Quadratic equation}
                      FPsetca{1}
                      FPsetcb{-5}
                      FPsetcc{6}
                      FPqsolvexonextwocacbcc
                      FPevalxone{clip(round(xone:4))}
                      FPevalxtwo{clip(round(xtwo:4))}
                      FPevalbabs{clip(round(abs(cb):4))}
                      FPevalcabs{clip(round(abs(cc):4))}

                      Quadratic equation : $ca x^2$ FPifposcb $+$ else $-$ fi $babs x$ FPifposcc $+$ else $-$ fi $cabs=0$ %\[1cm]

                      Result: $x = xone quad text{and} quad x = xtwo$


                      end{frame}
                      end{document}


                      enter image description here



                      Improved version



                      This version handle better special situations (when some coefficients of the equation became -1, 1 or 0).



                      As fp's FPqsolve doesn't handle equations without solutions (it emit an error), my code don't display correctly equations where the "x^2" AND the "x" term are null (it display, when the compiler don't stop at errors, something like: Quadratic equation: +6 = 0). This code is intended to be used only when the equation has real(s) solution(s).



                      documentclass{beamer}
                      usepackage{fp}
                      begin{document}
                      begin{frame}[fragile]{Quadratic equation}
                      FPsetca{1}
                      FPsetcb{-5}
                      FPsetcc{6}
                      FPqsolvexonextwocacbcc
                      FPevalxone{clip(round(xone:4))}
                      FPevalxtwo{clip(round(xtwo:4))}
                      FPevalaabs{clip(round(abs(ca):4))}
                      FPevalbabs{clip(round(abs(cb):4))}
                      FPevalcabs{clip(round(abs(cc):4))}
                      newcommand{signa}{FPifnegca -elsefi}
                      newcommand{positiveSignBWithA}{FPifzeroca else +fi} % if ca is 0, no positive sign before the "x" term if cb is positive
                      newcommand{signb}{FPifnegcb -else positiveSignBWithAfi}
                      newcommand{signc}{FPifnegcc -else +fi}
                      newcommand{coeffa}{FPifeqaabs1 elseaabsfi}
                      newcommand{coeffb}{FPifeqbabs1 elsebabsfi}
                      newcommand{polya}{FPifzeroca elsesignacoeffa x^2fi}
                      newcommand{polyb}{FPifzerocb elsesignbcoeffb xfi}
                      newcommand{polyc}{FPifzerocc elsesignccabsfi}

                      Quadratic equation : $polya polyb polyc =0$ \[1cm]

                      Result: $x = xone quad text{and} quad x = xtwo$

                      end{frame}
                      end{document}


                      enter image description here






                      share|improve this answer






























                        4















                        Edit: See below an improved version.




                        Note the [fragile] in begin{frame}. Necessary with FPifpos.



                        documentclass{beamer}
                        usepackage{fp}
                        begin{document}
                        begin{frame}[fragile]{Quadratic equation}
                        FPsetca{1}
                        FPsetcb{-5}
                        FPsetcc{6}
                        FPqsolvexonextwocacbcc
                        FPevalxone{clip(round(xone:4))}
                        FPevalxtwo{clip(round(xtwo:4))}
                        FPevalbabs{clip(round(abs(cb):4))}
                        FPevalcabs{clip(round(abs(cc):4))}

                        Quadratic equation : $ca x^2$ FPifposcb $+$ else $-$ fi $babs x$ FPifposcc $+$ else $-$ fi $cabs=0$ %\[1cm]

                        Result: $x = xone quad text{and} quad x = xtwo$


                        end{frame}
                        end{document}


                        enter image description here



                        Improved version



                        This version handle better special situations (when some coefficients of the equation became -1, 1 or 0).



                        As fp's FPqsolve doesn't handle equations without solutions (it emit an error), my code don't display correctly equations where the "x^2" AND the "x" term are null (it display, when the compiler don't stop at errors, something like: Quadratic equation: +6 = 0). This code is intended to be used only when the equation has real(s) solution(s).



                        documentclass{beamer}
                        usepackage{fp}
                        begin{document}
                        begin{frame}[fragile]{Quadratic equation}
                        FPsetca{1}
                        FPsetcb{-5}
                        FPsetcc{6}
                        FPqsolvexonextwocacbcc
                        FPevalxone{clip(round(xone:4))}
                        FPevalxtwo{clip(round(xtwo:4))}
                        FPevalaabs{clip(round(abs(ca):4))}
                        FPevalbabs{clip(round(abs(cb):4))}
                        FPevalcabs{clip(round(abs(cc):4))}
                        newcommand{signa}{FPifnegca -elsefi}
                        newcommand{positiveSignBWithA}{FPifzeroca else +fi} % if ca is 0, no positive sign before the "x" term if cb is positive
                        newcommand{signb}{FPifnegcb -else positiveSignBWithAfi}
                        newcommand{signc}{FPifnegcc -else +fi}
                        newcommand{coeffa}{FPifeqaabs1 elseaabsfi}
                        newcommand{coeffb}{FPifeqbabs1 elsebabsfi}
                        newcommand{polya}{FPifzeroca elsesignacoeffa x^2fi}
                        newcommand{polyb}{FPifzerocb elsesignbcoeffb xfi}
                        newcommand{polyc}{FPifzerocc elsesignccabsfi}

                        Quadratic equation : $polya polyb polyc =0$ \[1cm]

                        Result: $x = xone quad text{and} quad x = xtwo$

                        end{frame}
                        end{document}


                        enter image description here






                        share|improve this answer




























                          4












                          4








                          4








                          Edit: See below an improved version.




                          Note the [fragile] in begin{frame}. Necessary with FPifpos.



                          documentclass{beamer}
                          usepackage{fp}
                          begin{document}
                          begin{frame}[fragile]{Quadratic equation}
                          FPsetca{1}
                          FPsetcb{-5}
                          FPsetcc{6}
                          FPqsolvexonextwocacbcc
                          FPevalxone{clip(round(xone:4))}
                          FPevalxtwo{clip(round(xtwo:4))}
                          FPevalbabs{clip(round(abs(cb):4))}
                          FPevalcabs{clip(round(abs(cc):4))}

                          Quadratic equation : $ca x^2$ FPifposcb $+$ else $-$ fi $babs x$ FPifposcc $+$ else $-$ fi $cabs=0$ %\[1cm]

                          Result: $x = xone quad text{and} quad x = xtwo$


                          end{frame}
                          end{document}


                          enter image description here



                          Improved version



                          This version handle better special situations (when some coefficients of the equation became -1, 1 or 0).



                          As fp's FPqsolve doesn't handle equations without solutions (it emit an error), my code don't display correctly equations where the "x^2" AND the "x" term are null (it display, when the compiler don't stop at errors, something like: Quadratic equation: +6 = 0). This code is intended to be used only when the equation has real(s) solution(s).



                          documentclass{beamer}
                          usepackage{fp}
                          begin{document}
                          begin{frame}[fragile]{Quadratic equation}
                          FPsetca{1}
                          FPsetcb{-5}
                          FPsetcc{6}
                          FPqsolvexonextwocacbcc
                          FPevalxone{clip(round(xone:4))}
                          FPevalxtwo{clip(round(xtwo:4))}
                          FPevalaabs{clip(round(abs(ca):4))}
                          FPevalbabs{clip(round(abs(cb):4))}
                          FPevalcabs{clip(round(abs(cc):4))}
                          newcommand{signa}{FPifnegca -elsefi}
                          newcommand{positiveSignBWithA}{FPifzeroca else +fi} % if ca is 0, no positive sign before the "x" term if cb is positive
                          newcommand{signb}{FPifnegcb -else positiveSignBWithAfi}
                          newcommand{signc}{FPifnegcc -else +fi}
                          newcommand{coeffa}{FPifeqaabs1 elseaabsfi}
                          newcommand{coeffb}{FPifeqbabs1 elsebabsfi}
                          newcommand{polya}{FPifzeroca elsesignacoeffa x^2fi}
                          newcommand{polyb}{FPifzerocb elsesignbcoeffb xfi}
                          newcommand{polyc}{FPifzerocc elsesignccabsfi}

                          Quadratic equation : $polya polyb polyc =0$ \[1cm]

                          Result: $x = xone quad text{and} quad x = xtwo$

                          end{frame}
                          end{document}


                          enter image description here






                          share|improve this answer
















                          Edit: See below an improved version.




                          Note the [fragile] in begin{frame}. Necessary with FPifpos.



                          documentclass{beamer}
                          usepackage{fp}
                          begin{document}
                          begin{frame}[fragile]{Quadratic equation}
                          FPsetca{1}
                          FPsetcb{-5}
                          FPsetcc{6}
                          FPqsolvexonextwocacbcc
                          FPevalxone{clip(round(xone:4))}
                          FPevalxtwo{clip(round(xtwo:4))}
                          FPevalbabs{clip(round(abs(cb):4))}
                          FPevalcabs{clip(round(abs(cc):4))}

                          Quadratic equation : $ca x^2$ FPifposcb $+$ else $-$ fi $babs x$ FPifposcc $+$ else $-$ fi $cabs=0$ %\[1cm]

                          Result: $x = xone quad text{and} quad x = xtwo$


                          end{frame}
                          end{document}


                          enter image description here



                          Improved version



                          This version handle better special situations (when some coefficients of the equation became -1, 1 or 0).



                          As fp's FPqsolve doesn't handle equations without solutions (it emit an error), my code don't display correctly equations where the "x^2" AND the "x" term are null (it display, when the compiler don't stop at errors, something like: Quadratic equation: +6 = 0). This code is intended to be used only when the equation has real(s) solution(s).



                          documentclass{beamer}
                          usepackage{fp}
                          begin{document}
                          begin{frame}[fragile]{Quadratic equation}
                          FPsetca{1}
                          FPsetcb{-5}
                          FPsetcc{6}
                          FPqsolvexonextwocacbcc
                          FPevalxone{clip(round(xone:4))}
                          FPevalxtwo{clip(round(xtwo:4))}
                          FPevalaabs{clip(round(abs(ca):4))}
                          FPevalbabs{clip(round(abs(cb):4))}
                          FPevalcabs{clip(round(abs(cc):4))}
                          newcommand{signa}{FPifnegca -elsefi}
                          newcommand{positiveSignBWithA}{FPifzeroca else +fi} % if ca is 0, no positive sign before the "x" term if cb is positive
                          newcommand{signb}{FPifnegcb -else positiveSignBWithAfi}
                          newcommand{signc}{FPifnegcc -else +fi}
                          newcommand{coeffa}{FPifeqaabs1 elseaabsfi}
                          newcommand{coeffb}{FPifeqbabs1 elsebabsfi}
                          newcommand{polya}{FPifzeroca elsesignacoeffa x^2fi}
                          newcommand{polyb}{FPifzerocb elsesignbcoeffb xfi}
                          newcommand{polyc}{FPifzerocc elsesignccabsfi}

                          Quadratic equation : $polya polyb polyc =0$ \[1cm]

                          Result: $x = xone quad text{and} quad x = xtwo$

                          end{frame}
                          end{document}


                          enter image description here







                          share|improve this answer














                          share|improve this answer



                          share|improve this answer








                          edited Mar 21 at 3:26

























                          answered Mar 20 at 11:05









                          quark67quark67

                          64026




                          64026






























                              draft saved

                              draft discarded




















































                              Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                              • Please be sure to answer the question. Provide details and share your research!

                              But avoid



                              • Asking for help, clarification, or responding to other answers.

                              • Making statements based on opinion; back them up with references or personal experience.


                              To learn more, see our tips on writing great answers.




                              draft saved


                              draft discarded














                              StackExchange.ready(
                              function () {
                              StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f480444%2fhow-to-write-quadratic-equation-with-negative-coefficient%23new-answer', 'question_page');
                              }
                              );

                              Post as a guest















                              Required, but never shown





















































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown

































                              Required, but never shown














                              Required, but never shown












                              Required, but never shown







                              Required, but never shown







                              Popular posts from this blog

                              How to send String Array data to Server using php in android

                              Title Spacing in Bjornstrup Chapter, Removing Chapter Number From Contents

                              Is anime1.com a legal site for watching anime?