Difference between revisions of "Project structure"

From Wiki
Jump to navigation Jump to search
 
(corrected some spellings and emphasis, added link)
Line 1: Line 1:
 
< [[The ConTeXt Way]]
 
< [[The ConTeXt Way]]
  
ConTeXt knows no document classes (as LaTeX does). You can define your layout yourself. If you use the same layout for several projects, save it as ''environment'' file.
+
ConTeXt knows no document classes (as LaTeX does). You can define your layout yourself. If you use the same layout for several projects, save it as an '''environment''' file.
  
How to split up a large project, say a book, in several handy parts? --  Use ConTeXt's project management facilities.
+
How to split up a large project, say a book, in several handy parts? Use ConTeXt's project management facilities.
  
 
* a '''project''' contains one ore more '''products'''
 
* a '''project''' contains one ore more '''products'''
* a '''product''' contains several '''component''' s
+
* a '''product''' contains several '''component'''s
 
* an '''environment''' defines the common layout (etc.) of a project
 
* an '''environment''' defines the common layout (etc.) of a project
  
Line 78: Line 78:
 
\stopcomponent
 
\stopcomponent
 
</pre>
 
</pre>
 +
 +
There's a Perl script <tt>makeproject.pl</tt> at Hraban's site [http://www.ramm.ch/fiee/texnique/?menu=0-1-3&lang=en ''fiëé teXnique''] to help creating the files (.ini files can be used for initial content).

Revision as of 19:38, 25 July 2004

< The ConTeXt Way

ConTeXt knows no document classes (as LaTeX does). You can define your layout yourself. If you use the same layout for several projects, save it as an environment file.

How to split up a large project, say a book, in several handy parts? – Use ConTeXt's project management facilities.

  • a project contains one ore more products
  • a product contains several components
  • an environment defines the common layout (etc.) of a project

The environment could also contain different versions (Modes) of the layout, e.g. print and screen (like Pragma's manuals) or final and correction etc.

Example 1: Magazine

  • project: magazine
  • product: one volume of the magazine
  • component: an single article

Example 2: Book

  • project: book
  • product: part of the book
  • component: chapter

If you tex (compile) one single component (e.g. a chapter of a book) or product (e.g. one volume of a magazine), the settings of the project's environment are used. Hraban uses the following naming conventions

  • project_foo
  • prd_foo
  • c_foo
  • env_foo

Project

\startproject project_mymag
\environment env_mymag % only mentioned here!

\product prd_year2004-01
\product prd_year2004-02
\product prd_year2004-03
\product prd_year2004-04

\completetableofcontents

\stopproject

Environment

\startenvironment env_mymag

\setuplayout[...]
% all setups...

\stopenvironment

Product

\startproduct prd_year2004-01
\project project_mymag

\component c_editorial
\component c_article01
\component c_article_by_me
% ...

\stopproduct

Component

\startcomponent c_editorial
\product prd_year2004-01 % but you can use it in other products anyway
\project project_mymag

\title{Editorial}

Dear reader...

\stopcomponent

There's a Perl script makeproject.pl at Hraban's site fiëé teXnique to help creating the files (.ini files can be used for initial content).