Difference between revisions of "Description"

From ConTeXt wiki
(FIX!)
m (Reverted edit of !!!!!!!!!!!!TROLL!!!!!!!!!!!!!!!!!!!!!, changed back to last version by NguyenDaiQuy)
Line 1: Line 1:
 +
< [[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]]

Revision as of 19:56, 18 March 2006

< From LaTeX to ConTeXt | Structurals >

Basic Description Lists

LaTeX

LaTeX provides a description environment, which works just like an itemized or enumerated list except that the item labels are specified by an (optional) argument to the \item 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.

\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}

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 \setupdescription or \definedescription. The \definedescription latter command is used to define a named description class, which can later be called using its name. This example defines a latexdesc description, with parameters that roughly approximate the LaTeX defaults.

\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

The empty lines (or \par) after each description (here, \latexdesc) line are required.

The margin=dimension 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 distance=dimension 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:

\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}

In this example, the code indentation has been used to illustrate the alignment of the typeset output. Everything between \item[Para] and \item[Short] 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


The author of this entry is looking for a solution for the described problem. (See: How to?)


Descriptions with Fixed Label Width

LaTeX

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

\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}


ConTeXt

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

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

Another example:

\definedescription
	[Desc]
	[location=top,hang=20,
	headstyle={\bf\color[blue]},
	command=\hskip-1cm,margin=1cm]

Gives the result: File:desc.png