Configuration concepts:

General issues:

There are many different types of configuration files:

  • The first is the applications configuration data contained in edoc.cfg. The information contained in this file is about the appearance of the user interface, the path and commands for external programs, the defined macros etc.
  • The second one is the data about the defined internal structure of your documents. This data is kept in the file edoc.int. The file is structured in different sections.
    The possible styles are grouped into "StyleGroups" which are: Paragraph styles, environment styles, character styles, commands and embeded objects. You can define as many styles per stylegroup as you like.
    In later versions, there will be a substructure in each styles definition.
    One will be the display data, which defines how this style is displayed on screen.
    Another section will be the structural data, which defines f. ex. if this style is numbered and at what level this numbering will be made. Another section will be the argument section, where all possible additional arguments for this style is defined. This information can be exported for interaction with other styles (f. ex. references/labels or bibliography items/citations). Another section will be the interaction section, where interactions with one ore more other styles can be defined.
    There is also a section in this file where you can define multiple numbering engines and connect styles with them.
  • The definition of filetypes and arguments in projects are located in the file edoc.mac. The content of this file is stored in a global hash referenced by $main::project.
  • Macros are defined in the file edoc.mac which can include other macro files by using "<<<INCLUDE::filename>>>" command. These seperate macro definition files are supplied together with the backend they belong to, so if the backend definition of LATEX is kept in the file latex.out, the macros that belong to the LATEX backend are kept in the file latex.mac and there has to be a statement like "<<<INCLUDE::latex.mac>>>" at the end of the macro definition in the file edoc.mac.
  • There are several *.out files where the export of your styles into the backends language is defined. This means that there will be one *.out file per supported backend. These files have the same structure like the edoc.int file. Every style that is defined in the edoc.int-file is also defined in the *.out file. The data stored there per style will be very much shorter, just the export translation information is kept there.
  • 'Global parts' are stored in a seperate configuration file called edoc.pts.

How this data is stored:

The information of this files is parsed at the startup of the programm (this is the main reason why it takes so long to come up).

What files are stored in the differnt hashes:

  • The data of edoc.cfg and all included *.cfg files is stored in the anonymous hash $main::config which is unique for the whole application (global).
  • The data of edoc.mac and all included *.mac files is stored in the anonymous hash $main::config too.
  • The data of edoc.prj is stored in the anonymous hash $main::project which is unique for the whole application.
  • The data of edoc.int and edoc.obj is stored in the anonymous hash $main::internal which is unique for the whole application (global) too.
  • The data of *.out is stored in the anonymous hash $backend which exists for every existing DocForm object.
    This hash will have the same structure as the hash $main::internal.

The user interface:

The user interface of e:doc can be configurated by the user to fit his/her personal needs. This configuration is made inside of the file edoc.cfg. For example the speedbar, the menus and the macros are defined there.

The internal structure of the document:

The most important part of e:doc is the definition of the internal document structures in the file edoc.int. Basically you simply type in the content of your document and assign some styles to parts of it. These styles can be simple formatting instructions but there can be more information assigned to them. This might be for creating indexes, tables of content, numbering of paragraphs etc.
You can also add as many additional information (called arguments) to each style definition. This information can later be forwarded and transformed to the backend.
F. ex. You could define a style called "Footnote" wich contains one argument called "Text". This is the text that should be printed in Latex footnote using "\footnote{%text%}".
With a HTML backend you could realize it in different ways. You could insert a specialy designed HTML block which prints the footnotes text f. ex. superscript and italic or you can make a special footnote section at the bottom of the HTML page with a hyperlink between the right place in the document and the footnotes text.
All this should be done in the backends definition file and should have no impact on the documents internal structure.
You can even create interactions between document styles like yutomatically jump between a style called "Citation" and the corresponding "BibliographyItem" style.

The backend definition files:

The *.out files:

There is one *.out file per supported backend. In this text files there will be all needed configuration to transform a document into the backends format. (for example, the transformation from an e:doc document to a LaTeX file will be defined in latex.out).


Go back.