NAME
planfacile - A document compiler.
SYNOPSIS
planfacile [options] [files]
DESCRIPTION
PlanFacile is a document compiler, designed for table of contents
computation. More precisely, PlanFacile considers that a document is a
set of concepts linked by dependencies. PlanFacile generates a document
using those ideas, sorted in order to read it from the begininng to the
end with a minimum of cross references to further parts of the
document.
PlanFacile generates only non-formated documents, such as HTML or LaTeX
sources.
BASIC GRAMAR
For a common use of PlanFacile, it is not necessary to know all the
language of PlanFacile. The goal of this section is to present the
minimum necessary to know how to write a document.
Document
Ideas A document, as said before, is a set of ideas the author wants to
communicate to the reader. One idea is a part of the document that can
be represented by a title. For example, if the writer sees that one
title does not accurately represent the text of the same idea, he
should just make sure that two concepts are not put in one #idea
command... The syntax of an idea is quite simple :
#idea{reference}title#text
text
#end
Also, some ideas are dependent in one document, so they are linked by
dependencies (See paragraph Dependencies).
Automatic ideas Sometimes, PlanFacile adds an idea to the document. In
that case, the writer can replace the default text by an idea that
suits the document. To do this, there are two commands, which are like
#idea :
#missing{index}{reference}title#text
text
#end
The index parameter is given by PlanFacile, in the default message...
In the same way :
#generic{parent reference}{reference}title#text
text
#end
Dependencies In a document with ideas about the same subject, it is
quite natural that ideas need some of the others to be understood by
the reader. This relation is a dependency between ideas.
If the writer puts a dependency in the text of idea A to the idea B,
this means that the reader will need to understand idea B before
reading idea A in order to understand this last idea.
The syntax of a dependency, in its simplest form, is :
#dep{reference}{#depref}{}
However, the writer may need to add a positive number to specify the
weighting of the dependency if the organisation of the document is not
the right one, even if the writer has put the correct dependencies :
#dep{pertinence}{reference}{#depref}{}
The reference must be one of the words used in the #idea command.
Complete source code
The ideas are not sufficient to produce a document. To complete a
source code, the writer needs to learn a bit more about the language of
PlanFacile.
Standard The first command of the source can be #standard, that
indicates to PlanFacile to load standard definitions, to be able to
produce a document in LaTeX or in HTML (more formats will be present in
the future).
Options and macros When the writer uses the command #standard, the
compiler will be able to generate all formats. The writer must indicate
his choice with some commands.
A choice, such as the output format, can be set with an option :
#option{optionname}
and a text parameter can be set with a macro, for a very specific use :
#define{parametername}{value}
OPTIONS
PlanFacile uses 36 options to modify its behavior. Listing all of these
here is not interesting, as the -h option gives some help about all
options.
Some options are often useful :
-o output file specify the output file, to write the document ;
-O option define a compiler option, as the #option command. Then the
user has the possibility to set some parameters at the time of
compilation ;
-d ignore invalid dependencies. Useful when the writer wants to compile
a part of a document, to check if this part is error free ;
-A ignore undefined automatic ideas. Sometimes, PlanFacile adds some
ideas to complete the document. This option avoids an error when an
automatic idea appears.
SEE ALSO
See also latex(1), xpdf(1), firefox(1), lynx(1).
CONTACTS
If you have a problem that you can not solve by reading the
documentation, or if you find a bug, you can send an email to
planfacile@gmail.com and we will send a reply as quickly as possible.