Changes

Jump to navigation Jump to search
5,699 bytes added ,  19:56, 18 March 2006
m
Reverted edit of !!!!!!!!!!!!TROLL!!!!!!!!!!!!!!!!!!!!!, changed back to last version by NguyenDaiQuy
< [[From LaTeX to ConTeXt]] | [[Structurals]] >

= Basic Description Lists =

== LaTeX ==

LaTeX provides a <tt>description</tt> environment, which works just like an itemized or enumerated list except that the item labels are specified by an (optional) argument to the <tt>\item</tt> command, rather than being automatically generated. This is useful for making lists of definitions and other sorts of descriptions that are headed by a keyword.

<texcode>
\documentclass{article}
\begin{document}
\begin{description}
\item[Short] This is a shorter item label, and some text that talks about it.
The text is wrapped into a paragraph, with successive lines indented.
\item[Rather longer label] This is a longer item label. As you can see, the
text is not started a specified distance in -- unlike with other lists -- but
is spaced a fixed distance from the end of the label.
\end{description}
\end{document}
</texcode>

== ConTeXt ==

ConTeXt provides a similar mechanism. Unlike the LaTeX version, ConTeXt's description mechanism does not enclose the items in an environment, but instead formats them independently according to formats given in <cmd>setupdescription</cmd> or <cmd>definedescription</cmd>. The <cmd>definedescription</cmd> latter command is used to define a named description class, which can later be called using its name. This example defines a <tt>latexdesc</tt> description, with parameters that roughly approximate the LaTeX defaults.

<texcode>
\definedescription[latexdesc][
headstyle=bold,style=normal,align=left,location=hanging,
width=broad,margin=1cm]

\starttext
\latexdesc{Short} This is a shorter item label, and some text that talks about it.
The text is wrapped into a paragraph, with successive lines indented.

\latexdesc{Rather longer label} This is a longer item label. As you can see, the
text is not started a specified distance in -- unlike with other lists -- but
is spaced a fixed distance from the end of the label.

\stoptext
</texcode>

<context>
\definedescription[latexdesc][
headstyle=bold,style=normal,align=left,location=hanging,
width=broad,margin=1cm]

\starttext
\latexdesc{Short} This is a shorter item label, and some text that talks about it.
The text is wrapped into a paragraph, with successive lines indented.

\latexdesc{Rather longer label} This is a longer item label. As you can see, the
text is not started a specified distance in -- unlike with other lists -- but
is spaced a fixed distance from the end of the label.

\stoptext
</context>

The empty lines (or <cmd>par</cmd>) after each description (here, <tt>\latexdesc</tt>) line are required.

The <tt>margin=<i>dimension</i></tt> key specifies the hanging indentation for lines after the first line. In addition, the separation between the label and the text can be specified using a <tt>distance=<i>dimension</i></tt> key.

= Multi-Paragraph Descriptions =

== LaTeX ==

Because the LaTeX description mechanism is an environment, it is simple to include multiple paragraphs in a description environment, or even to embed sub-lists. For instance, consider the following example:

<texcode>
\documentclass{article}
\begin{document}
\begin{description}
\item[Para] This is a shorter item label, and some text that talks about it.
The text is wrapped into a paragraph, with successive lines indented.

This is another paragraph under the "Para" item.

\begin{description}
\item[Sub-Item] This is a description of an item which is within the
"Para" item.

\item[Sub-Item] Another sub-item.
\end{description}
\item[Short] A short item that's not part of that really long "Para" item.
\end{description}
\end{document}
</texcode>

In this example, the code indentation has been used to illustrate the alignment of the typeset output. Everything between <code>\item[Para]</code> and <code>\item[Short]</code> is part of the "Para" item, and is indented by the same amount. The embedded description then embeds any following lines on the "Sub-Item"s by an additional indentation, as one would expect.

== ConTeXt ==

{{Howto}}


= Descriptions with Fixed Label Width =

== LaTeX ==

In LaTeX, the <tt>mdwlist</tt> package can be used to set a fixed label width.

<texcode>
\documentclass{article}
\usepackage{mdwlist}
\begin{document}
\begin{basedescript}{\desclabelstyle{\pushlabel}\desclabelwidth{6em}}
\item[Short] This is a shorter item label, and some text that talks about it.
The text is wrapped into a paragraph, with successive lines indented.
\item[Rather longer label] This is a longer item label. As you can see, the
text is not started a specified distance in -- unlike with other lists -- but
is spaced a fixed distance from the end of the label.
\end{basedescript}
\end{document}
</texcode>


== ConTeXt ==

Using an explicit dimension as argument for the 'width' parameter
sets the label to 5em:

<texcode>
\definedescription[notation][
headstyle=bold,style=normal,align=left,location=hanging,
width=5em]
</texcode>

<context>
\definedescription[notation][
headstyle=bold,style=normal,align=left,location=hanging,
width=5em]

\starttext
\notation{Short} This is a shorter item label, and some text that talks about it.
The text is wrapped into a paragraph, with successive lines indented.

\notation{Rather longer label} This is a longer item label. As you can see, the
text is not started a specified distance in -- unlike with other lists -- but
is spaced a fixed distance from the end of the label.

\stoptext
</context>

Another example:
<texcode>
\definedescription
[Desc]
[location=top,hang=20,
headstyle={\bf\color[blue]},
command=\hskip-1cm,margin=1cm]
</texcode>
Gives the result:
[[Image:desc.png]]

Navigation menu