+ Example fixes, and more escape seqences

This commit is contained in:
michael 2004-11-15 18:01:16 +00:00
parent c493f28b04
commit 63c6ea5abf

View File

@ -373,7 +373,8 @@ procedure TLaTeXWriter.WriteDoc;
var var
i : Integer; i : Integer;
DocNode : TDocNode; DocNode : TDocNode;
L : TstringList;
begin begin
PackageName := LowerCase(Copy(Package.Name, 2, 255)); PackageName := LowerCase(Copy(Package.Name, 2, 255));
If (Engine.OutPut='') then If (Engine.OutPut='') then
@ -384,17 +385,27 @@ begin
WriteLn('% This file has been created automatically by FPDoc,'); WriteLn('% This file has been created automatically by FPDoc,');
WriteLn('% (c) 2000-2003 by Areca Systems GmbH / Sebastian Guenther (sg@freepascal.org)'); WriteLn('% (c) 2000-2003 by Areca Systems GmbH / Sebastian Guenther (sg@freepascal.org)');
ProcessPackage; ProcessPackage;
for i := 0 to Package.Modules.Count - 1 do L:=TStringList.Create;
begin Try
Module := TPasModule(Package.Modules[i]); L.Sorted:=True;
ModuleName := LowerCase(Module.Name); // Sort modules.
WriteLn(''); For I:=0 to Package.Modules.Count-1 do
WriteLnF('\chapter{%s}', [EscapeTex(Format(SDocUnitTitle, [Module.Name]))]); L.AddObject(TPasModule(Package.Modules[i]).Name,TPasModule(Package.Modules[i]));
WriteLabel(Module); // Now create table.
DocNode:=Engine.FindDocNode(Module); for i:=0 to L.Count - 1 do
If Assigned(DocNode) then begin
ProcessTopics(DocNode,1); Module := TPasModule(L.Objects[i]);
ProcessSection(Module.InterfaceSection); ModuleName := LowerCase(Module.Name);
WriteLn('');
WriteLnF('\chapter{%s}', [EscapeTex(Format(SDocUnitTitle, [Module.Name]))]);
WriteLabel(Module);
DocNode:=Engine.FindDocNode(Module);
If Assigned(DocNode) then
ProcessTopics(DocNode,1);
ProcessSection(Module.InterfaceSection);
end;
Finally
L.Free;
end; end;
finally finally
Close(f); Close(f);
@ -598,7 +609,7 @@ end;
procedure TLaTeXWriter.DescrBeginDefinitionList; procedure TLaTeXWriter.DescrBeginDefinitionList;
begin begin
WriteLn('\begin{description'); WriteLn('\begin{description}');
end; end;
procedure TLaTeXWriter.DescrEndDefinitionList; procedure TLaTeXWriter.DescrEndDefinitionList;
@ -1015,18 +1026,27 @@ end;
procedure TlatexWriter.WriteExample(ADocNode: TDocNode); procedure TlatexWriter.WriteExample(ADocNode: TDocNode);
var var
Example: TDOMElement; Example: TDOMElement;
S : string;
begin begin
if Assigned(ADocNode) then if Assigned(ADocNode) then
begin begin
Example := ADocNode.FirstExample; Example := ADocNode.FirstExample;
while Assigned(Example) do while Assigned(Example) do
begin begin
WritelnF('\FPCexample{%s}', [Engine.GetExampleFileName(Example)]); if (Example.NodeType = ELEMENT_NODE) and (Example.NodeName = 'example') then
if Assigned(Example.NextSibling) then begin
WriteLn(''); if (S<>'') then // not first example, start new paragraph
WriteLn('');
s:=Engine.GetExampleFileName(Example);
If (s<>'') then
WritelnF('\FPCexample{%s}', [ChangeFileExt(S,'')]);
if Assigned(Example.NextSibling) then
WriteLn('');
end;
Example := TDomElement(Example.NextSibling); Example := TDomElement(Example.NextSibling);
end;
end; end;
end;
end; end;
procedure TLateXWriter.WriteSeeAlso(ADocNode: TDocNode); procedure TLateXWriter.WriteSeeAlso(ADocNode: TDocNode);
@ -1066,7 +1086,7 @@ begin
Writeln(','); Writeln(',');
S:=TDomElement(Node)['id']; S:=TDomElement(Node)['id'];
DescrBeginLink(S); DescrBeginLink(S);
Writeln(S); Writeln(EscapeTex(S));
DescrEndLink(); DescrEndLink();
end; end;
Node:=Node.NextSibling; Node:=Node.NextSibling;
@ -1456,7 +1476,10 @@ end.
{ {
$Log$ $Log$
Revision 1.6 2004-07-23 23:39:48 michael Revision 1.7 2004-11-15 18:01:16 michael
+ Example fixes, and more escape seqences
Revision 1.6 2004/07/23 23:39:48 michael
+ Some fixes in verbatim writing + Some fixes in verbatim writing
Revision 1.5 2004/06/06 10:53:02 michael Revision 1.5 2004/06/06 10:53:02 michael