防止词汇表条目在分页符处分隔标题和描述

防止词汇表条目在分页符处分隔标题和描述

我已修改glossaries indexgroup样式以满足我的需求,其中包括一些换行符。但是,这会导致条目在分页符处被拆分。我该如何解决这个问题?

梅威瑟:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[nopostdot,style=indexgroup,nolist,nonumberlist]{glossaries}

\makenoidxglossaries
\newglossaryentry{res}
{
    name={resource-awareness},
    description={Foo foo bar}
}

\renewcommand{\glstreeitem}{%
  \parindent0pt\par\hangindent40pt
  \everypar{\parindent50pt\hangindent40pt}}
\renewcommand{\glstreepredesc}{\par
  \glstreeitem\parindent\hangindent}
\renewcommand{\glsnamefont}[1]{\textnormal{\itshape #1}}
\renewcommand*{\glsgroupheading}[1]{\parindent0pt\textnormal{\glsgetgrouptitle{#1}}\\}%

\begin{document}

This is not \gls{res}.

\vspace{16cm}

\printnoidxglossary

\end{document}

在此处输入图片描述

indexgroup顺便说一句,由于我的文档中的其他样式与其他包存在一些冲突,所以我需要使用该样式。

答案1

您可以使用\nopagebreak来防止分页符。我对您的 MWE 做了一些修改。我\nopagebreak在名称和描述之间添加了分隔符。这可以防止您遇到的分页符,但会导致页眉和组的第一个项目之间出现分页符,这看起来也不太正确。所以我还调整了页眉后的分页符。

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[nopostdot,style=indexgroup,nolist,nonumberlist]{glossaries}

\makenoidxglossaries
\newglossaryentry{res}
{
    name={resource-awareness},
    description={Foo foo bar}
}

\renewcommand{\glstreeitem}{%
  \parindent0pt\par\hangindent40pt
  \everypar{\parindent50pt\hangindent40pt}}
\renewcommand{\glstreepredesc}{\par\nopagebreak % <-- modified
  \glstreeitem\parindent\hangindent}
\renewcommand{\glsnamefont}[1]{\textnormal{\itshape #1}}
\renewcommand*{\glsgroupheading}[1]{\parindent0pt\textnormal{\glsgetgrouptitle{#1}}%
  \par\nopagebreak % <-- modified
}%

\begin{document}

This is not \gls{res}.

\vspace{16cm}

\printnoidxglossary

\end{document}

最终得到一份单页文档:

文件图像

相关内容