Difference between revisions of "First Document"

From Wiki
Jump to navigation Jump to search
m
(9 intermediate revisions by 3 users not shown)
Line 1: Line 1:
< [[Main Page]] | [[Second Step]] | [[Next Steps]] >
+
< [[Main Page]] | [[Detailed Example]] >
  
{{todo|mention MKII and IV and both texexec and context already at this step}}
 
  
This page describes the fundamentals of using ConTeXt. It includes hands-on examples, and the instructions assume that you have ConTeXt [[Installation hints|installed]]. If you don't want to install it yet, you can [http://live.contextgarden.net try it on the web].
+
ConTeXt is a ''[http://en.wikipedia.org/wiki/Markup_language markup language]'' used to primarily create PDF files. To use ConTeXt, create a text file (typically with a <code>.tex</code> extension) with ConTeXt markup and ''compile'' the file by running the command <code>context filename</code>. This creates a PDF file. This page explains how to create your very first ConTeXt document.
  
Start by typing the following into a [[Text Editors|text editor]] and saving it as <code>hello.tex</code>:
+
== First steps ==
  
<texcode>
+
Make sure that ConTeXt is installed on your system. To check that, go to the command line and type
\starttext
 
Hello World
 
\stoptext
 
</texcode>
 
  
Then go to the command-line and type:
+
<pre>context --version</pre>
  
 +
You should get an output as follows:
 
<pre>
 
<pre>
texexec hello.tex
+
mtx-context    | ConTeXt Process Management 0.61
 +
mtx-context    |
 +
mtx-context    | main context file: /opt/context-minimals/texmf-context/tex/context/base/context.mkiv
 +
mtx-context    | current version: 2014.12.29 10:01
 
</pre>
 
</pre>
  
ConTeXt will then process your document. It will output some information, such as follows—this output does ''not'' indicate an error:
+
If ConTeXt is not installed on your system, check the [[Installation|installation]] page for installation instructions.
 +
 
 +
Follow the steps below to create a simple document using ConTeXt:
 +
 
 +
== Create a ConTeXt file ==
 +
 +
Open a [[Text Editors|text editor]], type the following content, and save the file as <code>hello.tex</code>:
 +
 
 +
<texcode>\starttext
 +
\startsection[title={Testing ConTeXt}]
 +
  This is my {\em first} ConTeXt document.
 +
\stopsection
 +
\stoptext</texcode>
 +
 
 +
Words starting with a backslash (such as <code>\starttext</code>) are called '''command sequence''' or '''macros'''. The macros
 +
 
 +
<texcode>\starttext
 +
....
 +
\stoptext</texcode>
 +
 
 +
mark the content to be typeset. The material before <code>\starttext</code> (called ''preamble'') is used to change the style of the output; any material after <code>\stoptext</code> is ignored.
 +
 
 +
The macros
 +
 
 +
<texcode>\startsection[title={...}]
 +
...
 +
\stopsection</texcode>
 +
 
 +
mark the title and the content of a section.
 +
 
 +
The macro <code>{\em ...}</code> is a [[Font Switching| font switch]] that emphasizes the content (by showing it in slanted font).
 +
 
 +
 
 +
== Compile the ConTeXt file ==
 +
 
 +
Go to the command-line and type:
 +
 
 +
<pre>context hello</pre>
 +
 
 +
ConTeXt will then process your document, display some logging information on the console, and generate a <tt>hello.pdf</tt> output file.
  
 
<pre><nowiki>
 
<pre><nowiki>
TeXExec | processing document 'hello.tex'
+
mtx-context    | run 1: luatex --fmt="/opt/context-minimals/texmf-cache/luatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luatex/cont-en" --jobname="hello" --lua="/opt/context-minimals/texmf-cache/luatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luatex/cont-en.lui" --no-parse-first-line --c:currentrun=1 --c:fulljobname="./hello.tex" --c:input="./hello.tex" --c:kindofrun=1 "cont-yes.mkiv"
TeXExec | no ctx file found
+
This is LuaTeX, Version beta-0.74.0-2012122511 (rev 4541)  
TeXExec | tex processing method: context
 
TeXExec | TeX run 1
 
TeXExec | writing option file hello.top
 
TeXExec | tex engine: pdfetex
 
TeXExec | tex format: cont-en
 
TeXExec | progname: context
 
This is pdfeTeXk, Version 3.141592-1.30.3-2.2 (Web2c 7.5.5)
 
 
  \write18 enabled.
 
  \write18 enabled.
%&-line parsing enabled.
+
(/opt/context-minimals/texmf-context/tex/context/base/cont-yes.mkiv
(c:\context\usr\local\context\tex\texmf-local/web2c/natural.tcx)
 
entering extended mode
 
(./hello.tex
 
  
ConTeXt  ver: 2006.05.14 23:57 fmt: 2006.5.16 int: english  mes: english
+
ConTeXt  ver: 2013.01.27 21:24 MKIV fmt: 2013.1.28 int: english/english
 +
...
 +
...
 +
mkiv lua stats > current memory usage      - 23 MB (ctx: 23 MB)
 +
mkiv lua stats  > runtime                  - 0.316 seconds, 1 processed pages, 1 shipped pages, 3.165 pages/second
  
language        : language en is active
+
system          | total runtime: 0.468
<protectionstate 0>
 
...
 
 
</nowiki></pre>
 
</nowiki></pre>
  
Once <tt>texexec</tt> has finished, it will leave behind a file called <tt>hello.pdf</tt>. Open it and you will see a "Hello world" document.
+
== View the generated PDF file ==
 +
 
 +
Open the generated <tt>hello.pdf</tt> PDF file using a [http://en.wikipedia.org/wiki/List_of_PDF_software#Viewers PDF viewer]. It should look as follows:
  
<context source="no">
+
<context mode="mkiv">
 +
% Draw a white frame so that the page is not truncated.
 +
% But it does not seem to work :(
 +
\setupbackgrounds[text][frame=on]
 
\starttext
 
\starttext
Hello World
+
\startsection[title={Testing ConTeXt}]
 +
  This is my {\em first} ConTeXt document.
 +
\stopsection
 
\stoptext
 
\stoptext
 
</context>
 
</context>
  
 +
Note that the section has been numbered, the section number and the section title appear in a slightly larger fonts, and the emphasized word comes out in a slanted font.
 +
 +
== Modifying the output style ==
 +
 +
It is possible to change the style of the output by using appropriate ''setup'' commands in the preamble. For example, to make the section titles bold and to use italic (rather than slanted) font for emphasized words, use
 +
 +
<context mode="mkiv" source="yes" text="which gives">
 +
\setuphead[section][style=\bfa]
 +
\setupbodyfontenvironment[default][em=italic]
 +
 +
\starttext
 +
\startsection[title={Testing ConTeXt}]
 +
  This is my {\em first} ConTeXt document.
 +
\stopsection
 +
\stoptext
 +
</context>
  
&rarr; [[Second Step]]
+
{{Getting started navbox}}

Revision as of 04:26, 22 May 2015

< Main Page | Detailed Example >


ConTeXt is a markup language used to primarily create PDF files. To use ConTeXt, create a text file (typically with a .tex extension) with ConTeXt markup and compile the file by running the command context filename. This creates a PDF file. This page explains how to create your very first ConTeXt document.

First steps

Make sure that ConTeXt is installed on your system. To check that, go to the command line and type

context --version

You should get an output as follows:

mtx-context     | ConTeXt Process Management 0.61
mtx-context     |
mtx-context     | main context file: /opt/context-minimals/texmf-context/tex/context/base/context.mkiv
mtx-context     | current version: 2014.12.29 10:01

If ConTeXt is not installed on your system, check the installation page for installation instructions.

Follow the steps below to create a simple document using ConTeXt:

Create a ConTeXt file

Open a text editor, type the following content, and save the file as hello.tex:

\starttext
\startsection[title={Testing ConTeXt}]
  This is my {\em first} ConTeXt document.
\stopsection
\stoptext

Words starting with a backslash (such as \starttext) are called command sequence or macros. The macros

\starttext
....
\stoptext

mark the content to be typeset. The material before \starttext (called preamble) is used to change the style of the output; any material after \stoptext is ignored.

The macros

\startsection[title={...}]
...
\stopsection

mark the title and the content of a section.

The macro {\em ...} is a font switch that emphasizes the content (by showing it in slanted font).


Compile the ConTeXt file

Go to the command-line and type:

context hello

ConTeXt will then process your document, display some logging information on the console, and generate a hello.pdf output file.

mtx-context     | run 1: luatex --fmt="/opt/context-minimals/texmf-cache/luatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luatex/cont-en" --jobname="hello" --lua="/opt/context-minimals/texmf-cache/luatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luatex/cont-en.lui" --no-parse-first-line --c:currentrun=1 --c:fulljobname="./hello.tex" --c:input="./hello.tex" --c:kindofrun=1 "cont-yes.mkiv"
This is LuaTeX, Version beta-0.74.0-2012122511 (rev 4541) 
 \write18 enabled.
(/opt/context-minimals/texmf-context/tex/context/base/cont-yes.mkiv

ConTeXt  ver: 2013.01.27 21:24 MKIV  fmt: 2013.1.28  int: english/english
...
...
mkiv lua stats  > current memory usage      - 23 MB (ctx: 23 MB)
mkiv lua stats  > runtime                   - 0.316 seconds, 1 processed pages, 1 shipped pages, 3.165 pages/second

system          | total runtime: 0.468

View the generated PDF file

Open the generated hello.pdf PDF file using a PDF viewer. It should look as follows:

Note that the section has been numbered, the section number and the section title appear in a slightly larger fonts, and the emphasized word comes out in a slanted font.

Modifying the output style

It is possible to change the style of the output by using appropriate setup commands in the preamble. For example, to make the section titles bold and to use italic (rather than slanted) font for emphasized words, use

\setuphead[section][style=\bfa]
\setupbodyfontenvironment[default][em=italic]

\starttext
\startsection[title={Testing ConTeXt}]
  This is my {\em first} ConTeXt document.
\stopsection
\stoptext

which gives

Template:Getting started navbox