Changeset 2377 in Sophya for trunk/SophyaPI/PIext


Ignore:
Timestamp:
May 7, 2003, 9:37:28 AM (22 years ago)
Author:
ansari
Message:

Amelioration HelpToLaTeX - Reza 7/5/03

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaPI/PIext/piacmd.cc

    r2308 r2377  
    18791879*/
    18801880
     1881// Fonction qui remplace tout caractere non alphanumerique en Z
     1882static void check_latex_reflabel(string & prl)
     1883{
     1884  for(int k=0; k<prl.length(); k++)
     1885    if (! isalnum(prl[k]) )  prl[k] = 'Z';
     1886}
     1887// Fonction qui remplace _ en \_
     1888static string check_latex_underscore(string const & mot)
     1889{
     1890  string rs;
     1891  for(int k=0; k<mot.length(); k++) {
     1892    if (mot[k] == '_') rs += "\\_";
     1893    else rs += mot[k];
     1894  }
     1895  return rs;
     1896}
     1897
    18811898/* --Methode-- */
    18821899void PIACmd::HelptoLaTeX(string const & fname)
     
    18911908fputs("List of {\\bf piapp} on-line Help groups: \n", fip);
    18921909fputs("\\begin{itemize} \n",fip);
     1910string prl;
     1911string mol;
    18931912CmdHGroup::iterator it;
    18941913for(it = cmdhgrp.begin(); it != cmdhgrp.end(); it++) {
    18951914  if ((*it).first == "All") continue;
     1915  prl = (*it).first;  check_latex_reflabel(prl);
     1916  mol = check_latex_underscore((*it).first);
    18961917  fprintf(fip,"\\item {\\bf %s }  (p. \\pageref{%s}) \n",
    1897          (*it).first.c_str(), (*it).first.c_str());
     1918          mol.c_str(), prl.c_str());
    18981919}
    18991920
     
    19031924
    19041925CmdExmap::iterator ite;
    1905 fputs("% ----- Liste de toutes les commandes ----- \n",fip);
     1926fputs("% ----- Liste de toutes les commandes et help item ----- \n",fip);
     1927fputs("\\vspace{5mm} \n",fip);
     1928// fputs("\\begin{table}[h!] \n", fip);
    19061929fputs("\\begin{center} \n ", fip);
    1907 fputs("\\rule{2cm}{1mm} List of {\\bf piapp} Help items \\rule{2cm}{1mm} \n", fip);
    1908 fputs("\n \n  \\vspace{5mm} \n",fip);
     1930fputs("\\rule{2cm}{1mm} List of {\\bf piapp} Help items \\rule{2cm}{1mm} \\\\ \n", fip);
     1931fputs("\\vspace{3mm} \n",fip);
    19091932fputs("\\begin{tabular}{llllll}  \n", fip);
    19101933int kt = 0;
    19111934for(ite = helpexmap.begin(); ite != helpexmap.end(); ite++) {
    1912   fprintf(fip,"%s & p. \\pageref{%s} ", (*ite).first.c_str(),  (*ite).first.c_str() );
     1935  prl = (*ite).first;  check_latex_reflabel(prl);
     1936  mol = check_latex_underscore((*ite).first);
     1937  fprintf(fip,"%s & p. \\pageref{%s} ", mol.c_str(),  prl.c_str() );
    19131938  kt++;
    19141939  if (kt < 3) fputs(" & ", fip);
     
    19191944fputs("\\end{tabular} \n", fip);
    19201945fputs("\\end{center} \n", fip);
    1921 fputs("\n \n \\newpage  \\vspace{1cm} \n",fip);
    1922 
    1923 fputs("\\begin{center} \n ", fip);
    1924 fputs("\\rule{2cm}{1mm} List of {\\bf piapp} Commands \\rule{2cm}{1mm} \n", fip);
    1925 fputs("\n \n  \\vspace{5mm} \n",fip);
    1926 fputs("\\begin{tabular}{llllll} \n", fip);
    1927 kt = 0;
    1928 for(ite = cmdexmap.begin(); ite != cmdexmap.end(); ite++) {
    1929   fprintf(fip,"%s & p. \\pageref{%s} ", (*ite).first.c_str(), (*ite).first.c_str() );
    1930   kt++;
    1931   if (kt < 3) fputs(" & ", fip);
    1932   else  { fputs(" \\\\  \n", fip);  kt = 0; }
    1933   }
    1934 if (kt == 1) fputs("  &  &  &   \\\\  \n", fip);
    1935 else if (kt == 2)  fputs("  &   \\\\  \n", fip);
    1936 fputs("\\end{tabular} \n", fip);
    1937 fputs("\\end{center} \n", fip);
    1938 // fputs("\\newline \n",fip);
    1939 
    1940 fputs("% ----- Liste des commandes dans chaque groupe ----- \n",fip);
    1941 fputs("\\newpage \n",fip);
     1946//fputs("\\end{table} \n", fip);
     1947fputs("\\newpage  \n",fip);
     1948
    19421949int gid;
    19431950for(it = cmdhgrp.begin(); it != cmdhgrp.end(); it++) {
    19441951  gid = (*it).second;
    19451952  if (gid == 0)  continue;
     1953  //  fputs("\\begin{table}[h!] \n",fip);
     1954  fputs("\\vspace{6mm} \n",fip);
     1955  fputs("\\begin{center} \n ", fip);
     1956  fprintf(fip, "\\rule{2cm}{1mm} \\makebox[60mm]{{ \\bf %s } help group} \\rule{2cm}{1mm} \\\\ \n",
     1957          (*it).first.c_str());
     1958  fputs("\\vspace{3mm} \n",fip);
     1959  fputs("\\begin{tabular}{llllll} \n", fip);
     1960  kt = 0;
     1961  for(ite = helpexmap.begin(); ite != helpexmap.end(); ite++) {
     1962    if ((*ite).second.group != gid)  continue;
     1963    prl = (*ite).first;  check_latex_reflabel(prl);
     1964    mol = check_latex_underscore((*ite).first);
     1965    fprintf(fip,"%s & p. \\pageref{%s} ", mol.c_str(),  prl.c_str() );
     1966    kt++;
     1967    if (kt < 3) fputs(" & ", fip);
     1968    else  { fputs(" \\\\  \n", fip);  kt = 0; }
     1969  }
     1970  for(ite = cmdexmap.begin(); ite != cmdexmap.end(); ite++) {
     1971    if ((*ite).second.group != gid)  continue;
     1972    prl = (*ite).first;  check_latex_reflabel(prl);
     1973    mol = check_latex_underscore((*ite).first);
     1974    fprintf(fip,"%s & p. \\pageref{%s} ", mol.c_str(),  prl.c_str() );
     1975    kt++;
     1976    if (kt < 3) fputs(" & ", fip);
     1977    else  { fputs(" \\\\  \n", fip);  kt = 0; }
     1978  }
     1979  if (kt == 1) fputs("  &  &  &   \\\\  \n", fip);
     1980  else if (kt == 2)  fputs("  &   \\\\  \n", fip);
     1981  fputs("\\end{tabular} \n", fip);
     1982  fputs("\\end{center} \n", fip);
     1983  //  fputs("\\end{table} \n",fip);
     1984  //  fputs("\\vspace{5mm} \n",fip);
     1985}
     1986// fputs("\\newline \n",fip);
     1987
     1988fputs("% ----- Liste des commandes dans chaque groupe ----- \n",fip);
     1989fputs("\\newpage \n",fip);
     1990
     1991for(it = cmdhgrp.begin(); it != cmdhgrp.end(); it++) {
     1992  gid = (*it).second;
     1993  if (gid == 0)  continue;
     1994  prl = (*it).first;  check_latex_reflabel(prl);
    19461995  fprintf(fip,"\\subsection{%s} \\label{%s} \n",
    1947           (*it).first.c_str(), (*it).first.c_str());
     1996          (*it).first.c_str(), prl.c_str());
    19481997  fprintf(fip,"\\noindent \n");
    19491998  for(ite = helpexmap.begin(); ite != helpexmap.end(); ite++) {
    19501999    if ((*ite).second.group != gid)  continue;
     2000    prl = (*ite).first;  check_latex_reflabel(prl);
     2001    mol = check_latex_underscore((*ite).first);
    19512002    fprintf(fip,"\\piahelpitem{%s} \\label{%s} \n",
    1952             (*ite).first.c_str(), (*ite).first.c_str());
     2003            mol.c_str(), prl.c_str());
    19532004    fputs("\\begin{verbatim} \n",fip);
    19542005    fprintf(fip,"%s\n", (*ite).second.us.c_str());
     
    19572008  for(ite = cmdexmap.begin(); ite != cmdexmap.end(); ite++) {
    19582009    if ((*ite).second.group != gid)  continue;
     2010    prl = (*ite).first;  check_latex_reflabel(prl);
     2011    mol = check_latex_underscore((*ite).first);
    19592012    fprintf(fip,"\\piacommand{%s} \\label{%s} \n",
    1960             (*ite).first.c_str(), (*ite).first.c_str());
     2013            mol.c_str(), prl.c_str());
    19612014    fputs("\\begin{verbatim} \n",fip);
    19622015    fprintf(fip,"%s\n", (*ite).second.us.c_str());
Note: See TracChangeset for help on using the changeset viewer.