description es el entorno para listas de definiciones: pares de un término y su explicación. Asigne a cada \item un argumento opcional [...] y su contenido se convertirá en el término (etiqueta), establecido en negrita en el margen izquierdo de forma predeterminada, con la explicación a continuación. Es ideal para glosarios, listas de opciones y documentación de parámetros.
Uso básico
Donde itemize y enumerate le proporcionan la etiqueta (un • o 1.), description es diferente: usted proporciona la etiqueta en palabras. La etiqueta va en el argumento opcional [...] de \item. En itemize y enumerate ese [...] es un extra para anular el marcador de un elemento; en description ese es efectivamente el punto.
\begin{description}
\item[TeX] クヌースが作った組版システム。
\item[LaTeX] TeX 上に築かれた文書作成のための言語。
\item[CTAN] パッケージを配布する世界規模のアーカイブ網。
\end{description}Tipografía, las palabras TeX, LaTeX y CTAN están en negrita en el margen izquierdo, cada una seguida de su explicación a la derecha (avanzando a la siguiente línea si es larga). Cuando una etiqueta es larga, la primera línea de la explicación comienza justo después. Al igual que con itemize y enumerate, necesitas al menos un elemento; cero elementos genera el error “Something's wrong--perhaps a missing \item”.
Errores en las etiquetas
Si omite [...], ese elemento no recibe ninguna etiqueta (obtiene una entrada con estilo de párrafo colgante sin marcador ni señal de sangría). Dado que la etiqueta es el objetivo de description, evítelo a menos que sea deliberado. La referencia oficial LaTeX aconseja proporcionar siempre una etiqueta, “porque no existe un valor predeterminado sensato”.
La otra trampa son los corchetes . Debido a que [ y ] delimitan el argumento opcional, cuando desee un corchete literal * como carácter * en una etiqueta o en el cuerpo, ocultelo entre llaves. Si el texto del cuerpo comienza con [, escriba \item {[}; y para poner un corchete de cierre dentro de una etiqueta, arréglelo como {]}, p.e. \item[Close bracket, {]}].
\begin{description}
\item[\texttt{[a-z]}] 文字クラス。ラベル内の角括弧は中括弧で保護する。
\item {[}本文が角括弧で始まる場合はこう書く。
\end{description}Además, un comando de cambio de fuente escrito en formulario de declaración dentro de una etiqueta anula la negrita predeterminada. Para establecer una etiqueta en monoespacio, por ejemplo, envuelva todo entre llaves (\item[{\ttfamily label}]) para estar seguro.
Personalización con enumitem
Para ajustar la fuente y la ubicación del término, utilice el paquete enumitem. Le permite pasar opciones directamente al entorno description: font= establece la fuente de la etiqueta, leftmargin= la sangría izquierda y style= cómo se organizan la etiqueta y el cuerpo. Las claves compartidas con otras listas, como itemsep=, también funcionan aquí.
\usepackage{enumitem}
\begin{description}[font=\bfseries\sffamily, style=nextline, leftmargin=1cm]
\item[オプション] 長いラベルは次の行から本文が始まる。
\item[既定値] サンセリフ体の太字でラベルを組む。
\end{description}La clave style= toma estos valores principales. En description la etiqueta siempre comienza por la izquierda, pero difieren en cómo fluye el cuerpo cuando la etiqueta es larga.
| estilo | Comportamiento |
|---|---|
standard | Como descripción en las clases estándar; la etiqueta está colocada en una caja. |
unboxed | Se acerca al estándar, pero la etiqueta no está encajonada, por lo que las etiquetas largas no quedan apretadas y pueden romperse. |
nextline | Si la etiqueta no se ajusta al margen, el cuerpo comienza en la siguiente línea; el cuerpo nunca sobresale del margen izquierdo. |
sameline | Como la siguiente línea, pero si la etiqueta no encaja, el cuerpo continúa en la misma línea. |
Para aplicar la misma configuración a cada description, escriba \setlist[description]{...} una vez en el preámbulo. Por ejemplo, \setlist[description]{font=\sffamily\bfseries, style=nextline} se aplica a todas las listas de definiciones del documento a la vez. También vale la pena conocer leftmargin= y labelsep=: el primero hace que el inicio del cuerpo dependa de la etiqueta, mientras que el segundo corrige la brecha entre la etiqueta y el cuerpo.
Cambiando la negrita (\descriptionlabel)
Si prefiere cambiar solo la negrita predeterminada sin enumitem, redefina \descriptionlabel (el comando que establece cada etiqueta) con \renewcommand. Su argumento #1 es el texto de la etiqueta. Aquí hay un ejemplo que establece cada etiqueta en mayúsculas (el \hspace{\labelsep} agrega el espacio habitual entre la etiqueta y el cuerpo).
\renewcommand{\descriptionlabel}[1]{%
{\hspace{\labelsep}\textsc{#1}}}Coloque esta redefinición en el preámbulo y cada etiqueta description posterior se establecerá en minúsculas. Cambie \textsc por \texttt (monoespaciado) o \textit (cursiva) para obtener el aspecto que prefiera. Tenga en cuenta que mientras itemize recorre su marcador •→–→*→· con profundidad de anidamiento y enumerate recorre 1.→(a)→i.→A., description mantiene el mismo estilo de etiqueta en cada nivel de anidamiento — solo hay un \descriptionlabel, por lo que una redefinición se aplica uniformemente a todos los niveles del documento.
Un glosario trabajado
Para un uso práctico, aquí tienes un pequeño glosario adornado con enumitem. style=nextline pone términos largos en su propia línea, font=\bfseries hace explícita la negrita y leftmargin= sangra las explicaciones claramente. Cada \item lleva su término en [...] seguido de la explicación.
\documentclass{article}
\usepackage{enumitem}
\begin{document}
\begin{description}[font=\bfseries, style=nextline, leftmargin=1.5cm]
\item[コンパイル]
ソースファイルを TeX エンジンで処理し、PDF などの出力を得ること。
\item[プリアンブル]
\verb|\documentclass| から \verb|\begin{document}| までの設定部分。
\item[相互参照]
\verb|\label| と \verb|\ref| により、番号やページを自動で挿入するしくみ。
\end{description}
\end{document}Al escribir, esto produce un glosario legible: los tres términos “Compilar”, “Preámbulo” y “Referencia cruzada” están en negrita, cada uno en su propia línea, con la explicación con una sangría de 1,5 cm debajo. Si sus términos son breves, suelte style=nextline y deje que la explicación comience en la misma línea.