
\chapter{How you can help}

\section{Use the program!}

One of the best ways to contribute to GNU {\TeXmacs} is by using it a lot,
talk about it to friends and collegues, and to report me about bugs
or other unnatural behaviour. Please mention the fact that you wrote
articles using TeXmacs when submitting them. 
Besides these general (but very important) ways to contribute,
your help on the more specific subjects below would be appreciated.
Don't hesitate to contact us if you want to contribute to these or
any other issues. Please consult \submenu{Help}{implementation}
for documentation about the source code of {\TeXmacs}.

\section{Documentation}

A big effort has still to be spent on the documentation of {\TeXmacs}.
Not only good documentation is very useful for new users,
but writing such documentation is also a nice way for you
to learn more about the program. If you are limited in time,
then you may consider writing documentation about one
particular feature of {\TeXmacs}, such as ``typing mathematics'',
``using environments'' or ``writing a style file''.
A good idea might be to illustrate your documentation by small,
cartoon-like screen samples.

\section{Translations}

The support of a maximal number of foreign languages is another
major challenge in which your help would be appreciated.
Usually, the procedure for a new language is as follows
\begin{itemize}
  \item You copy the file ¤english-new.scm¤ to ¤english-yourlanguage.dic¤
        in ¤langs/natural/dic¤ and fill out the corresponding translations.
        You may want to use Andrey Grozin's dictionary tool at
\begin{verbatim}
    http://www.texmacs.org/Data/dictool.py.gz
\end{verbatim}
        In order to use it, may sure that Python is installed on your system,
        download the file, gunzip it, make it executable and run it.
  \item You tell me about any special typographical rules in your language
        and handy keystrokes for producing special characters.
  \item I take care of the hyphenation and typographical issues,
        but you test them.
  \item If you have enough time, you may also consider the translation
        of (part of) the existing documentation.
\end{itemize}
Of course, the support for languages get out of date each time that
new features are added to TeXmacs. For this reason, we also maintain
a file ¤miss-english-yourlanguage.dic¤ with all missing translation
for your language, once that it has been added. Please do not hesitate
to send inclomplete versions of ¤english-yourlanguage.dic¤ or
¤miss-english-yourlanguage.dic¤; someone else may be willing to
complete them.

\section{Converters from/to LaTeX, Html, etc.}

If you are familiar with {\TeX}, {\LaTeX, Html, Xml, Sgml,
Mathml, Pdf, Rtf, or any other frequently used data format,
please consider contributing to writing good converters
for one or more of these formats.

Writing a specific converter for Pdf should not be very difficult,
by adapting the file ¤src/Window/PsDevice/printer.gen.cc¤.
Converters for other formats may be more complicated to write,
and might sometimes require a closer collaboration with the main
TeXmacs authors. In \subsubmenu{Help}{implementation}{data format}
you will find details about the {\TeXmacs} data format
and in \subsubmenu{Help}{implementation}{data conversion}
we give some suggestions which might be helpful for these projects.

\section{Porting TeXmacs to other platforms}

Having only access to PC/Linux and SUN systems,
I am interested in people who want to port {\TeXmacs}
to other Unix systems with X Window and
to maintain the corresponding distributions.
If you want to do this, you should take a look at the files
\begin{verbatim}
    gencc/src/system.h
    src/Basic/fast_alloc.gen.cc
\end{verbatim}
Specialists on ¤autoconf¤, redhat and rpm packages are also welcome
to communicate their suggestions, patches, etc.

Besides porting {\TeXmacs} to other Unix-based systems,
it would be nice to port {\TeXmacs} to Windows (and Mac OS).
A first possibility might be to port {\TeXmacs} to Cygwin and
run an X server under Windows. I would very much appreciate
feedback from people who have tried to do this.
A cleaner, but more laborious approach would be to
port the (modular) window interface of {\TeXmacs} to
a more portable graphical user interface like
Gtk, GNUstep or Qt.

\section{Interfacing TeXmacs with other programs}

It is quite easy to write interfaces between {\TeXmacs} and
computer algebra systems or other scientific programs with
structured output. Please consider writing interfaces
between {\TeXmacs} and your favorite system(s).
{\TeXmacs} has already been interfaced with several
other free systems, like Macaulay 2, Maxima, Pari,
gTybaly, Yacas. For more information about how to
add new interfaces, see \submenu{Help}{interfaces}.

\section{Other help}

\begin{itemize}
  \item Grammar checkers and automatic translation programs.
        Does someone know where to find detailed free dictionaries
        and stuff like that?
  \item Incorporation of free speech recognition program.
  \item Rewrite the window interface in a way that it becomes based
        on ¤Gtk¤ instead of X Window (and provide an interface with
        ¤guile-gtk¤).
  \item Etc...
\end{itemize}

\section{Contact me}

You can contact me by email at
\begin{verbatim}
    vdhoeven@texmacs.org
\end{verbatim}
The \TeXmacs\ web pages are located at
\begin{verbatim}
    http://www.texmacs.org
    http://www.gnu.org/software/texmacs
\end{verbatim}
Via this page, you may find out about the most recent changes in the editor,
not yet implemented suggestions, known bugs, etc.
