Exemplo n.º 1
0
tree
collect_metadata (tree t, tree latex_class) {
  tree r(CONCAT);
  bool spaced;
  string s = "article";
  if (is_tuple (latex_class, "\\documentclass", 1) ||
      is_tuple (latex_class, "\\documentstyle", 1))
    s = latex_verbarg_to_string (latex_class[1]);
  else if (is_tuple (latex_class, "\\documentclass*", 2) ||
           is_tuple (latex_class, "\\documentstyle*", 2))
    s = latex_verbarg_to_string (latex_class[2]);

  if (s == "acm_proc_article-sp" ||
      s == "sig-alternate" || s == "sig-alt-full" ||
      s == "acmart")
    r= collect_metadata_acm (t);
  else if (s == "elsarticle" || s == "elsart" || s == "ifacconf")
    r= collect_metadata_elsevier (t);
  else if (s == "amsart" || s == "amsbook" || s == "amsproc")
    r= collect_metadata_ams (t);
  else if (s == "revtex4-1")
    r= collect_metadata_revtex (t);
  else if (s == "svmono")
    r= collect_metadata_svmono (t);
  else if (s == "svjour3")
    r= collect_metadata_springer (t, false);
  else if (s == "llncs")
    r= collect_metadata_springer (t, true);
  else if (s == "IEEEconf" || s == "IEEEtran")
    r= collect_metadata_ieee (t);
  else
    r << collect_metadata_latex (t);
  r=  unconcat_tmseps (r);
  r= filter_spaces (r, spaced);
  return r;
}
Exemplo n.º 2
0
tree
collect_metadata_svmono (tree t) {
  int i, n=N(t);
  tree u, r (CONCAT);
  tree doc_data (APPLY, "\\doc-data");
  tree abstract_data (APPLY, "\\abstract-data");
  array<tree> doc_notes;
  array<tree> tmp= collect_metadata_latex (t);
  for (i=0; i<N(tmp); i++) {
    if (is_apply (tmp[i], "\\doc-data")) doc_data= tmp[i];
    if (is_apply (tmp[i], "\\abstract-data")) abstract_data= tmp[i];
  }
  for (i=0; i<n; i++) {
    u= t[i];
    if (is_tuple (u, "\\subtitle", 1)) {
      get_springer_title_notes (u[1], doc_notes);
      doc_data << tree (APPLY, "\\doc-subtitle", cstm (u[1]));
    }
  }
  if (N(doc_notes) > 0) doc_data << doc_notes;
  if (N(doc_data) > 1) r << doc_data << "\n";
  if (N(abstract_data) > 1) r << abstract_data << "\n";
  return r;
}
Exemplo n.º 3
0
array<tree>
collect_metadata_latex (tree t) {
  return collect_metadata_latex (t, &get_latex_author_datas);
}