@ function LaTeX2HTML(sLaTeX : value) { local myHTMLDoc; insert myHTMLDoc.sParsingMode = "description"; createVirtualFile(".#f1", sLaTeX); createVirtualFile(".#f2", ""); try { translate("LaTeX2HTML.cwp", myHTMLDoc, ".#f1", ".#f2"); } catch(sError) { traceLine("error in the description:"); traceLine(theVersion.description); error(sError); } local sResult = loadVirtualFile(".#f2"); deleteVirtualFile(".#f2"); deleteVirtualFile(".#f1"); return sResult; } function HTMLAnchor(sLabel) { set sLabel = replaceString("#", "_", sLabel); set sLabel = replaceString("&", "_", sLabel); set sLabel = replaceString(";", "_", sLabel); set sLabel = replaceString(" ", "_", sLabel); set sLabel = replaceString("%", "_", sLabel); set sLabel = replaceString("@", "_", sLabel); set sLabel = replaceString("=", "_", sLabel); set sLabel = replaceString("<", "_", sLabel); set sLabel = replaceString(">", "_", sLabel); set sLabel = replaceString("\"", "_", sLabel); set sLabel = replaceString("'", "_", sLabel); set sLabel = replaceString("/", "_", sLabel); set sLabel = replaceString("-", "_", sLabel); set sLabel = replaceString("+", "_", sLabel); set sLabel = replaceString(".", "_", sLabel); return sLabel; } function fileHTMLDocumentation(sFilename : value) { local myFile; insert myFile.parseAll = true; parseAsBNF("fileDescription.cwp", myFile, sFilename); if myFile.description { @@LaTeX2HTML(myFile.description)@@ } if existVariable(myFile.input) { @
Input files: @ foreach i in myFile.input { if !first(i) { @, @ } @@i@"@ } @. @ } if existVariable(myFile.file) { @ quoted files: @ foreach i in myFile.file { if !first(i) { @, @ } @@i@@ } @. @ } if existVariable(myFile.output) { @ output files: @ foreach i in myFile.output { if !first(i) { @, @ } @@i@@ } @. @ } local bPrecedentWasCode; foreach i in myFile.content { if i.type == "section" { if bPrecedentWasCode { set bPrecedentWasCode = false; @ @ } @
@
} else {
@
@
}
local iIndex = 0;
while (iIndex < i.description.length()) && (i.description.charAt(iIndex) == '\t') increment(iIndex);
local sText = i.description.composeHTMLLikeString();
if $iIndex > 0$ {
set sText = repeatString(" ", iIndex) + sText.subString(iIndex);
}
@@sText@@
}
}
if bPrecedentWasCode {
@ |