ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Patrick Gundlach <pg@levana.de>
Subject: Re: diving into source code
Date: 20 Jun 2002 22:54:58 +0200	[thread overview]
Message-ID: <87r8j1d61p.fsf@gundla.ch> (raw)
In-Reply-To: <NPEAKMHEICNGLIJBLOONGEDOCBAA.KrisHermans@advalvas.be>

"Kris Hermans" <KrisHermans@advalvas.be> writes:

Hi,

> After experimenting for a few weeks now zith ConTeXt, I really would like to
> gain a deeper understanding of the source code. Therefore my question,
> because I'm a TeX novice:
> 
> What are good documents to study, before actually diving into ConTeXt
> source? 

1) a dutch dictionary ;)

2) the source.

Well, this is hard to say. I'd suggest that you generate the 'nice'
variants of the source code by (iirc) texexec --module supp-mis.tex
(and all the other source files you'd like to read; you need the nl
format for this and copy the file to a seperate dir). This gives you a
pdf version with nicely printed comments and examples. If you have
texexec built in your head (and a TeX-interpreter), you can read the
source directly. 

I am not really into the source but I suggest to start
syst-gen.tex. There are a lot of the macros defined that are needed
throughout the other files. But beware. You need a deep understanding
the way TeX works (the word \expandafter should not scare you, and a
catcode has nothing to do with the small furry creatures :) Don't let
the \dododododdodosomething irritate you. They are just Hans' way of
keeping the source obscure. 
Just seen something like this:

\def\dodogetargument#1################################1#2%

got it? This is why I think that reading any not trivial TeX code is
rather difficult. (Well, Forth is even worse :)

Then it might be helpful to have a look at the multilingual
interface (mult-ini.tex) After that, just go to some of the core* and
supp* files and see what is in there. The xtag* files are not suited
for first time reading. 

If you are really brave (and have *lots* of disk space) you can put a
\tracingall=1\starttext Hello World \stoptext in your tex file and
read the logfile :)

> I'm already reading "a gentle introduction to TeX" (Michael Doob).
> Is this enough or is there better material around?

I like 'the advanced TeX book' (David Salomon) really much. It is a
companion to the TeX book, but 'normal people' can understand
that one. It might help if you have programmed some little recursion
stuff yourself. 

> What I don't find in the ConTeXt manuals, is documentation on how to make
> interactive, screen based documents and what are good strategies for
> producing different versions (screen/print/questions/answers/...) from the
> same base document. Any links to docs are also more than welcome!

If I remember correctly, the pdftex faq is available in different
formats. The source code is available. Go for that one. And follow
Hennings advice to get his material. I haven't had a look into it yet but
I am sure it is very nice to study.

Patrick
-- 
I'll fade into the darkness


  parent reply	other threads:[~2002-06-20 20:54 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-06-20  9:58 Kris Hermans
2002-06-20 17:16 ` Henning Hraban Ramm
2002-06-20 20:54 ` Patrick Gundlach [this message]
2002-06-21 16:00   ` Henning Hraban Ramm
2002-06-23 11:01   ` Hans Hagen
2002-06-30  5:45     ` Johannes Hüsing

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87r8j1d61p.fsf@gundla.ch \
    --to=pg@levana.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).