First Document

From Wiki
Jump to navigation Jump to search

< First Document | Detailed Example | Basics >


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 1.03
mtx-context     |
mtx-context     | main context file: /opt/context-minimals/texmf-context/tex/context/base/mkiv/context.mkiv
mtx-context     | current version: 2020.01.30 14:13

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 or hello.mkxl:

\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="/home/adityam/.cache/context-minimals/luatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luatex/cont-en" --jobname="hello" --lua="/home/adityam/.cache/context-minimals/luatex-cache/context/5fe67e0bfe781ce0dde776fb1556f32e/formats/luatex/cont-en.lui" --c:currentrun=1 --c:fulljobname="./hello.tex" --c:input="./hello.tex" --c:kindofrun=1 --c:maxnofruns=9 --c:texmfbinpath="/opt/context-minimals/texmf-linux-64/bin" "cont-yes.mkiv"

This is LuaTeX, Version 1.10.1 (TeX Live 2019) 
 system commands enabled.
open source     > level 1, order 1, name '/opt/context-minimals/texmf-context/tex/context/base/mkiv/cont-yes.mkiv'
system          > 
system          > ConTeXt  ver: 2019.07.24 11:17 MKIV beta  fmt: 2019.8.17  int: english/english
...
...
mkiv lua stats  > lua properties: engine: lua 5.3, used memory: 94 MB, ctx: 93 MB, max: unknown MB), hash chars: min(64,40), symbol mask: utf (τεχ)
mkiv lua stats  > runtime: 0.833 seconds, 1 processed pages, 1 shipped pages, 1.200 pages/second
system          | total runtime: 4.485 seconds

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