/[csv2latex]/csv2latex.c
ViewVC logotype

Diff of /csv2latex.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 42, Wed Oct 19 22:41:39 2016 UTC revision 43, Mon Oct 24 14:45:53 2016 UTC
# Line 223  int guessCSV(config* conf, FILE* in) { Line 223  int guessCSV(config* conf, FILE* in) {
223                                  token != '\n' &&                                  token != '\n' &&
224                                  token != EOF)                                  token != EOF)
225                  {/* getc has been done */}                  {/* getc has been done */}
226                  if (token == conf->block){                  if (token == conf->block) {
227                          /* second delimiter : next is separator */                          /* second delimiter : next is separator */
228                          conf->sep = getc(in);                          conf->sep = getc(in);
229                          fprintf(stderr, "Guessed '%c' as Separator\n",                          fprintf(stderr, "Guessed '%c' as Separator\n",
# Line 241  int guessCSV(config* conf, FILE* in) { Line 241  int guessCSV(config* conf, FILE* in) {
241                                  token != EOF)                                  token != EOF)
242                  {/* getc has been done */}                  {/* getc has been done */}
243                  /* guess CSV separator */                  /* guess CSV separator */
244                  if (ispunct(token) || token == '\t' || token == ' '){                  if (ispunct(token) || token == '\t' || token == ' ') {
245                          conf->sep = token;                          conf->sep = token;
246                          fprintf(stderr, "Guessed %c as Separator\n", conf->sep);                          fprintf(stderr, "Guessed %c as Separator\n", conf->sep);
247                          return(0);                          return(0);
# Line 398  void doTeXsub(config* conf, char newsep, Line 398  void doTeXsub(config* conf, char newsep,
398    
399                  /* if commas in cells */                  /* if commas in cells */
400                  /* thx to <florian@heinze.at> */                  /* thx to <florian@heinze.at> */
401                  if (token == '\"'){                  if (token == '\"') {
402                          if (nosep == 0)                          if (nosep == 0)
403                                  nosep = 1;                                  nosep = 1;
404                          else                          else
# Line 487  void doTeXdoc(config* conf, FILE* in, FI Line 487  void doTeXdoc(config* conf, FILE* in, FI
487          char* tabcolsep[5] = {"0", "0.05", "0.1", "0.2", "0.4"}; /* LaTeX tabcolsep good values */          char* tabcolsep[5] = {"0", "0.05", "0.1", "0.2", "0.4"}; /* LaTeX tabcolsep good values */
488    
489          numcols = maxcols = conf->cols;          numcols = maxcols = conf->cols;
490          if (conf->header){          if (conf->header) {
491                  fprintf(out, "\\documentclass[a4paper]{article}\n");                  fprintf(out, "\\documentclass[a4paper]{article}\n");
492                  fprintf(out, "\\usepackage[T1]{fontenc}\n");                  fprintf(out, "\\usepackage[T1]{fontenc}\n");
493                  fprintf(out, "\\usepackage[latin1]{inputenc}\n");                  fprintf(out, "\\usepackage[latin1]{inputenc}\n");
494                  if (conf->red){                  if (conf->red) {
495                          fprintf(out, "\\usepackage{relsize}\n");                          fprintf(out, "\\usepackage{relsize}\n");
496                  }                  }
497                  if (conf->clrrow){                  if (conf->clrrow) {
498                          fprintf(out, "\\usepackage{colortbl}\n");                          fprintf(out, "\\usepackage{colortbl}\n");
499                  }                  }
500                  if (conf->longtable){                  if (conf->longtable) {
501                          fprintf(out, "\\usepackage{longtable}\n");                          fprintf(out, "\\usepackage{longtable}\n");
502                  }                  }
503                  fprintf(out, "\\begin{document}\n");                  fprintf(out, "\\begin{document}\n");
504          }          }
505          if (conf->clrrow){          if (conf->clrrow) {
506                  fprintf(out, "\\def\\colorrow{\\rowcolor[gray]{%s}}\n",                  fprintf(out, "\\def\\colorrow{\\rowcolor[gray]{%s}}\n",
507                                  conf->clrrow);                                  conf->clrrow);
508          }          }
509          if (conf->red){          if (conf->red) {
510                  fprintf(out, "\\relsize{-%s}\n", relsize[conf->red]);                  fprintf(out, "\\relsize{-%s}\n", relsize[conf->red]);
511                  fprintf(out, "\\addtolength\\tabcolsep{-%sem}\n", tabcolsep[conf->red]);                  fprintf(out, "\\addtolength\\tabcolsep{-%sem}\n", tabcolsep[conf->red]);
512          }          }
# Line 537  void doTeXdoc(config* conf, FILE* in, FI Line 537  void doTeXdoc(config* conf, FILE* in, FI
537          } else {          } else {
538            fprintf(out, "\\end{tabular}\n");            fprintf(out, "\\end{tabular}\n");
539          }          }
540          if (conf->red){          if (conf->red) {
541                  fprintf(out, "\\addtolength\\tabcolsep{+%sem}\n", tabcolsep[conf->red]);                  fprintf(out, "\\addtolength\\tabcolsep{+%sem}\n", tabcolsep[conf->red]);
542                  fprintf(out, "\\relsize{+%s}\n", relsize[conf->red]);                  fprintf(out, "\\relsize{+%s}\n", relsize[conf->red]);
543          }          }
544          if (conf->header){          if (conf->header) {
545                  fprintf(out, "\\end{document}\n");                  fprintf(out, "\\end{document}\n");
546          }          }
547          return;          return;
# Line 592  int main (int argc, char **argv) { Line 592  int main (int argc, char **argv) {
592                  fp = fopen(argv[optind], "r");                  fp = fopen(argv[optind], "r");
593          }          }
594    
595          if (!fp){          if (!fp) {
596                  fprintf(stderr, "Can't open file %s\n", argv[optind]);                  fprintf(stderr, "Can't open file %s\n", argv[optind]);
597                  exit(EXIT_FAILURE);                  exit(EXIT_FAILURE);
598          }          }
599    
600          if (conf->guess){          if (conf->guess) {
601                  if (guessCSV(conf, fp)){                  if (guessCSV(conf, fp)) {
602                          fprintf(stderr, "Please run again by using --delimiter (if any) and --separator\n");                          fprintf(stderr, "Please run again by using --delimiter (if any) and --separator\n");
603                          fclose(fp);                          fclose(fp);
604                          exit(EXIT_FAILURE);                          exit(EXIT_FAILURE);

Legend:
Removed from v.42  
changed lines
  Added in v.43

  ViewVC Help
Powered by ViewVC 1.1.26