Added ignoreBadRefs so e.g. the PMF manual doesn't generate bad references to

wxWindows classes.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@13343 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2002-01-03 18:23:35 +00:00
parent 4aaef122cb
commit bf16085dc0
6 changed files with 46 additions and 23 deletions

View File

@@ -59,10 +59,8 @@ extern char *RTFCharset;
// This is defined in the Tex2Any library and isn't in use after parsing
extern char *BigBuffer;
extern wxHashTable TexReferences;
// Are we in verbatim mode? If so, format differently.
static bool inVerbatim = FALSE;
@@ -95,6 +93,8 @@ static int TwoColWidthB = 3000;
const int PageWidth = 12242; // 8.25 inches wide for A4
// Remember the anchor in a helpref
static TexChunk *helpRefText = NULL;
/*
* Flag to say we've just issued a \par\pard command, so don't
@@ -3343,46 +3343,61 @@ bool RTFOnArgument(int macroId, int arg_no, bool start)
TexOutput("{\\i ");
else
TexOutput("}");
if (start)
helpRefText = GetArgChunk();
return TRUE;
}
else if ((GetNoArgs() - arg_no) == 0) // Arg = 2, or 3 if first is optional
{
if (macroId != ltHELPREFN)
{
char *refName = GetArgData();
TexRef *texRef = NULL;
if (refName)
texRef = FindReference(refName);
if (start)
{
TexOutput(" (");
char *refName = GetArgData();
if (texRef || !ignoreBadRefs)
TexOutput(" (");
if (refName)
{
if (useWord)
if (texRef || !ignoreBadRefs)
{
char *s = GetArgData();
TexOutput("p. ");
TexOutput("{\\field{\\*\\fldinst PAGEREF ");
TexOutput(refName);
TexOutput(" \\\\* MERGEFORMAT }{\\fldrslt ??}}");
}
else
{
// Only print section name if we're not in Word mode,
// so can't do page references
TexRef *texRef = FindReference(refName);
if (texRef)
if (useWord)
{
TexOutput(texRef->sectionName) ; TexOutput(" "); TexOutput(texRef->sectionNumber);
char *s = GetArgData();
TexOutput("p. ");
TexOutput("{\\field{\\*\\fldinst PAGEREF ");
TexOutput(refName);
TexOutput(" \\\\* MERGEFORMAT }{\\fldrslt ??}}");
}
else
{
TexOutput("??");
sprintf(buf, "Warning: unresolved reference '%s'", refName);
OnInform(buf);
// Only print section name if we're not in Word mode,
// so can't do page references
if (texRef)
{
TexOutput(texRef->sectionName) ; TexOutput(" "); TexOutput(texRef->sectionNumber);
}
else
{
if (!ignoreBadRefs)
TexOutput("??");
sprintf(buf, "Warning: unresolved reference '%s'", refName);
OnInform(buf);
}
}
}
}
else TexOutput("??");
}
else TexOutput(")");
else
{
if (texRef || !ignoreBadRefs)
TexOutput(")");
}
}
return FALSE;
}