Introduction | ||
GOSH is a tool for converting plain ASCII text to Latex and other document formats. Its main design criteria was to use a syntax that is perfectly readable as plain ASCII text and the support of different target formats. The source files of GOSH have a very simple syntax that is similar to the usenet style. Everyone, who ever wrote a mail using an plain ASCII editor will able to write GOSH texts. GOSH supports multiple target formats by different backends, which are available as separate files. By now, there exists the built-in Latex backend, a simple HTML backend and a man-page backend. Originally, GOSH was meant as an alternative to writing Latex files by hand. In the meanwhile I do all kind of textual work, papers, documentation, websites and slides using GOSH. As it is a big help for myself, it might be useful for other people, too. Anyhow, this is an early version of GOSH. Its features and usage may change in the future. |
||
How to get GOSH? | ||
You can download snapshots of GOSH at the files section of my website http://os.inf.tu-dresden.de/~nf2. |
||
Licence | ||
GOSH and its backends are released under the terms of the GNU General Public Licence. For more information about the GNU General Public Licence visit the official GNU website http://www.gnu.org/licenses. |
||
Usage | ||
GOSH is written in the script language GOSH must be called with the source text file as argument and uses standard output for printing its result. For example. a pdf-file of the this text can be created via: > gosh gosh.txt > gosh.tex > pdflatex gosh.tex
In this example, GOSH generates Latex output that is stored in the file
A HTML-version of the text can be created by using the HTML-backend: > gosh --style html.gosh gosh.txt > gosh.html
The backend to use is specified via the |
||
Text structure | |||||||||||
Head of a GOSH textThe document title is the first text in the document. It is meant to be written centered in the GOSH text. There must be at least one space at the beginning of a title line. Otherwise, GOSH will consider the line as the first paragraph of the document. The title can span multiple lines. The title is followed by one or more empty lines and the author's names. As for the title, the author's names should be written in a centered way as well. Example of a header of a GOSH text: This is the title of a gosh the document Bernd Ullrich Uli Berndrich You do not need to specify the author but it is recommended. You can also specify neither the title nor the author. In this case the document is just untitled. Sections
The chapter's names are underlined with the This is the name of a chapter #############################
Sections are underlined with by Section =======
Subsections are underlined by Section ~~~~~~~
Paragraphs are underlined by Paragraph ---------
I choose these underline characters based on their different heights.
A ImagesImages can be inserted into the document this way: [image filename] This is the caption of the image. The caption can span multiple lines. Each line must be indented by two spaces. You can control the width of the image in relation to the page width via: [image filename 50%] This image will appear with the size of a half page-width.This works only with the Latex-backend of GOSH. The image can be rotated via: [image filename 5°] Of course, you can specify both parameters for the same image, too. Tables
The table feature of GOSH is very preliminary, but it is still usable for a
lot of cases. Tables are drawn by
ReferencesChapters, sections and subsections can be referenced within the document by enclosing the corresponding name with brackets. For example, read section Licence carefully. This makes it very easy to insert references but has the drawback, that all referenced section names need to be different to avoid ambiguous references.
Images can be referenced by their filenames (without the extension). I use to
store all images of the document in a separate If there is no matching identifier within the document, GOSH assumes the text within the brackets is an external reference (citation). So you can insert citations just the same way as references. This is very practical if you use Latex and Bibtex.
GOSH detects HTML-links by a heading [http://www.atari.org - The Atari Headquarter] A title can be optionally specified with parenthesis: [http://www.dhs.nu - Dead Hackers Society (click here)] |
|||||||||||
The HTML backend | ||
By default, the HTML produces pure HTML code without any fancyness. For the different textual styles, the corresponding HTML tags are used. There exist the following command line options, which take effect on the HTML output:
|
||
Known bugs and limitations | ||
|
||
Contact | ||
If you have comments, tips or bug reports regarding GOSH, please do not hesitate to contact me via
For new versions of GOSH and information about its development, you might visit
|
||