Salto de línea manual en el nombre de los glosarios

Salto de línea manual en el nombre de los glosarios

Encontré en algún lugar aquí una manera de definir mi propio estilo de glosario:

\newglossarystyle{superglossarystyle}
{
    \setglossarystyle{super}
    \renewenvironment{theglossary}
    {
        \tablehead{}
        \tabletail{}
        \begin{supertabular}{rp{\glsdescwidth}}
    }
    {
        \end{supertabular}
    }
}
%
\setglossarystyle{superglossarystyle}

¿Cómo rompo manualmente una línea en el namecampo en \newglossaryentry?

Cómo se ve ahora:

ParameterA,ParameterB  This is the description of ParameterA and ParameterB,
                       that is long and automatically wraps.

           ParameterC  This is the description of ParameterC, that is long
                       and automatically wraps.

Cómo debería verse:

ParameterA,
ParameterB   This is the description of ParameterA and ParameterB,
             that is long and automatically wraps.

ParameterC   This is the description of ParameterC, that is long
             and automatically wraps.

Intenté agregar \\,\linebreak,\tabbreaketc. como un salto de línea sin éxito.

\documentclass[pdftex,a4paper,oneside,12pt,halfparskip]{scrbook}
\usepackage[]{amsmath,amssymb}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,top=3.6cm,bottom=3.6cm,left=3.6cm,right=3.6cm]{geometry}
\usepackage[]{glossaries}

\newglossarystyle{superglossarystyle}
{
    \setglossarystyle{super}
    \renewenvironment{theglossary}
    {
        \tablehead{}
        \tabletail{}
        \begin{supertabular}{cp{\glsdescwidth}}
    }
    {
        \end{supertabular}
    }
}

\setglossarystyle{superglossarystyle}
\makeglossaries

\newglossaryentry{pab}
{
    name        = {$\boldsymbol{ParameterA},\boldsymbol{ParameterB}$} ,
    description = {This is the description of ParameterA and ParameterB, that is long and automatically wraps} ,
}

\newglossaryentry{pc}
{
    name        = {$\boldsymbol{ParameterC}$} ,
    description = {This is the description of ParameterC, that is long and automatically wraps.} ,
}

\begin{document}

\glsaddallunused\printglossaries

\end{document}

Respuesta1

Los especificadores de columna estándar son l, rycp{longitud}. Puede definir nuevos tipos de columnas utilizando elarraypaquete, pero no creo que sea necesario en este caso ya que puedes ajustar la alineación del párrafo usando \raggedleft. Al definir un nuevo estilo de glosario, resulta útil considerar una versión simplificada de lo que hace ese estilo. En su nivel básico, el estilo debe tener la forma:

\documentclass{article}

\begin{document}
\begin{tabular}{p{2cm}p{4cm}}
\raggedleft A. & some text\\
\raggedleft AA. & some more text\\
\raggedleft AAA. & some more text
\end{tabular}

\end{document}

que tiene una primera columna de estilo párrafo alineada a la derecha.

Imagen donde la primera columna está alineada a la derecha

Ahora prueba qué sucede si ParameterA,ParameterBse agrega:

\documentclass{article}

\begin{document}
\begin{tabular}{p{2cm}p{4cm}}
\raggedleft A. & some text\\
\raggedleft AA. & some more text\\
\raggedleft AAA. & some more text\\
\raggedleft ParameterA,ParameterB & some text
\end{tabular}

\end{document}

Esto no tiene un salto de línea porque TeX no puede insertar un salto de línea, por lo que el resultado es bastante feo.

Imagen con línea demasiado completa

En su lugar, debe proporcionar a TeX cierta posibilidad de romper la línea en la coma:

\documentclass{article}

\newcommand{\comma}{,\penalty \exhyphenpenalty}

\begin{document}

\begin{tabular}{p{2cm}p{4cm}}
\raggedleft A. & some text\\
\raggedleft AA. & some more text\\
\raggedleft ParameterA\comma ParameterB & some text
\end{tabular}

\end{document}

TeX ahora puede romper la línea:

Imagen con salto de línea después de la coma.

Aquí he codificado los anchos de las columnas usando 2cmy 4cm, pero el glossariespaquete define una longitud para la segunda columna llamada \glsdescwidth. Puede definir otra longitud para usar en la primera columna:

\newlength\glsnamewidth

Deberá establecer este valor según corresponda para su documento. Por ejemplo:

\setlength{\glsnamewidth}{3cm}

o

\setlength{\glsnamewidth}{0.3\hsize}

El nuevo estilo del glosario se puede definir como:

\newglossarystyle{superglossarystyle}
{%
  \setglossarystyle{super}%
  \renewenvironment{theglossary}%
  {%
      \tablehead{}%
      \tabletail{}%
      \begin{supertabular}{p{\glsnamewidth}p{\glsdescwidth}}%
  }%
  {%
      \end{supertabular}%
  }%
  \renewcommand{\glossentry}[2]{%
    \raggedleft
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline
  }%
}

El ejemplo completo es:

\documentclass[pdftex,a4paper,oneside,12pt,halfparskip]{scrbook}
\usepackage[]{amsmath,amssymb}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[a4paper,top=3.6cm,bottom=3.6cm,left=3.6cm,right=3.6cm]{geometry}
\usepackage[]{glossaries}

\newcommand{\comma}{,\penalty \exhyphenpenalty}
\newlength\glsnamewidth
\setlength{\glsnamewidth}{0.3\hsize}

\newglossarystyle{superglossarystyle}
{%
  \setglossarystyle{super}%
  \renewenvironment{theglossary}%
  {%
      \tablehead{}%
      \tabletail{}%
      \begin{supertabular}{p{\glsnamewidth}p{\glsdescwidth}}%
  }%
  {%
      \end{supertabular}%
  }%
  \renewcommand{\glossentry}[2]{%
    \raggedleft
    \glsentryitem{##1}\glstarget{##1}{\glossentryname{##1}} &
    \glossentrydesc{##1}\glspostdescription\space ##2\tabularnewline
  }%
}

\setglossarystyle{superglossarystyle}
\makeglossaries

\newglossaryentry{pab}
{
    name        =
{$\boldsymbol{ParameterA}\comma\boldsymbol{ParameterB}$} ,
    description = {This is the description of ParameterA and
ParameterB, that is long and automatically wraps} ,
}

\newglossaryentry{pc}
{
    name        = {$\boldsymbol{ParameterC}$} ,
    description = {This is the description of ParameterC, that is
long and automatically wraps.} ,
}

\begin{document}

\glsaddallunused\printglossaries

\end{document}

que produce:

Imagen de glosario

información relacionada