如何使用 leipzig 包将整个词汇表居中但不将列内容居中

如何使用 leipzig 包将整个词汇表居中但不将列内容居中

我正在使用该leipzig软件包完成我的论文,我想将词汇表水平居中放置在页面上,但我希望列的内容保持左对齐。我尝试过各种居中/居中、表格、图形、parbox 和 minipage,但都无济于事。我是 LaTeX 的初学者,所以答案可能很明显。即便如此,如果您有任何建议,我将不胜感激。

不居中的正常布局:

\documentclass{report}
\usepackage{multicol}
\usepackage[mcolblock,toc]{leipzig}
\makeglossaries
\setglossarystyle{inline}
\leipzigdesccapitalizetrue
\begin{document}
\printglossaries
\newpage
{\Nom} {\Acc} {\Gen} {\Dat}
\end{document}

一次失败的尝试示例(不确定这对你是否有帮助):

\documentclass{report}
\usepackage{multicol}
\usepackage[mcolblock,toc]{leipzig}
\makeglossaries
\setglossarystyle{inline}
\leipzigdesccapitalizetrue
\begin{document}
\begin{center}
{\flushleft{\printglossaries}}
\end{center}
\newpage
{\Nom} {\Acc} {\Gen} {\Dat}
\end{document}

答案1

样式mcolblock使用multicol环境来设置词汇表。multicol默认情况下,占用整个可用水平空间并将其分成 2 列(或更多列)。围绕它居中的命令不起作用,因为环境multicol已经占用了整个可用宽度,因此已经居中。

我理解您希望列仅占用所需的空间,并使用剩余的可用水平空间将现在纤薄的两列词汇表居中。您可以通过将 放入具有小于完整可用宽度的固定宽度的环境中,然后将此环境居中来\printglosses实现这一点。以下示例通过将宏放入和宏来实现这一点:minipageminipageminipage\glossarypreamble\glossarypostamble

\documentclass{report}
\usepackage{multicol}
\usepackage[mcolblock]{leipzig}
\usepackage{showframe}
\makeglossaries
\setglossarystyle{inline}
\leipzigdesccapitalizetrue
\renewcommand{\glossarypreamble}{\hfill\begin{minipage}{0.6\textwidth}}
\renewcommand{\glossarypostamble}{\end{minipage}\hfill}
\begin{document}
\printglosses
\newpage
{\Nom} {\Acc} {\Gen} {\Dat}
\end{document}

在此处输入图片描述

一些说明:

  • 我没有使用\begin{center}\end{center}因为它会插入额外的垂直空间,但当然也是可能的。
  • showframe包用于显示页面上的文本区域的边框,以证明词汇表实际上是居中的。

相关内容