Rev 16251 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 16251 | Rev 17693 | ||
---|---|---|---|
Line 461... | Line 461... | ||
461 | if(neucnt>0) qsort(neutral,neucnt,sizeof(neutral[0]),fsort); |
461 | if(neucnt>0) qsort(neutral,neucnt,sizeof(neutral[0]),fsort); |
462 | if(sign>0 && num>0 && rel==0) tprint(" +"); |
462 | if(sign>0 && num>0 && rel==0) tprint(" +"); |
463 | if(sign<0) tprint(" -"); |
463 | if(sign<0) tprint(" -"); |
464 | if(fcnt<1) tprint("1 "); // no factors why 1 - don't remove the 1 if [1,2;3,4], the 1 is useful? |
464 | if(fcnt<1) tprint("1 "); // no factors why 1 - don't remove the 1 if [1,2;3,4], the 1 is useful? |
465 | if(dencnt>0) { |
465 | if(dencnt>0) { |
466 | tprint(" {"); |
466 | tprint(" {\\frac{"); |
467 | if(numcnt==0) tprint(" 1"); // no numerator ? will write {1 over denominator} |
467 | if(numcnt==0) tprint(" 1"); // no numerator ? will write {1 over denominator} |
468 | else {/* numerator */ |
468 | else {/* numerator */ |
469 | if(numcnt==1 && *numerator[0]->beg=='(' && |
469 | if(numcnt==1 && *numerator[0]->beg=='(' && |
470 | find_matching(numerator[0]->beg+1,')')==(numerator[0]->end)-1) { |
470 | find_matching(numerator[0]->beg+1,')')==(numerator[0]->end)-1) { |
471 | *(numerator[0]->end-1)=0; |
471 | *(numerator[0]->end-1)=0; |
Line 473... | Line 473... | ||
473 | *(numerator[0]->end-1)=')'; |
473 | *(numerator[0]->end-1)=')'; |
474 | } |
474 | } |
475 | else for(i=0; i<numcnt; i++) {t_onefactor(numerator[i],i); |
475 | else for(i=0; i<numcnt; i++) {t_onefactor(numerator[i],i); |
476 | if(i<numcnt-1) tprint(" ");} /* add space between factors */ |
476 | if(i<numcnt-1) tprint(" ");} /* add space between factors */ |
477 | } |
477 | } |
478 | tprint(" |
478 | tprint(" }{ "); /* Now denominator */ |
479 | if(dencnt==1 && *denominator[0]->beg=='(' && |
479 | if(dencnt==1 && *denominator[0]->beg=='(' && |
480 | find_matching(denominator[0]->beg+1,')')==(denominator[0]->end)-1) { |
480 | find_matching(denominator[0]->beg+1,')')==(denominator[0]->end)-1) { |
481 | *(denominator[0]->end-1)=0; |
481 | *(denominator[0]->end-1)=0; |
482 | t_onestring(denominator[0]->beg+1); |
482 | t_onestring(denominator[0]->beg+1); |
483 | *(denominator[0]->end-1)=')'; |
483 | *(denominator[0]->end-1)=')'; |
484 | } |
484 | } |
485 | else for(i=0;i<dencnt;i++) {t_onefactor(denominator[i],i); |
485 | else for(i=0;i<dencnt;i++) {t_onefactor(denominator[i],i); |
486 | if(i<dencnt-1) tprint(" ");} /* add space between factors */ |
486 | if(i<dencnt-1) tprint(" ");} /* add space between factors */ |
487 | tprint("} "); |
487 | tprint("}} "); |
488 | } |
488 | } |
489 | for(i=0;i<neucnt;i++) {t_onefactor(neutral[i],i+dencnt); |
489 | for(i=0;i<neucnt;i++) {t_onefactor(neutral[i],i+dencnt); |
490 | if(i<neucnt-1) tprint(" ");} /* add space between factors */ |
490 | if(i<neucnt-1) tprint(" ");} /* add space between factors */ |
491 | } |
491 | } |
492 | 492 |