我正在使用该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
实现这一点。以下示例通过将宏放入和宏来实现这一点:minipage
minipage
minipage
\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
包用于显示页面上的文本区域的边框,以证明词汇表实际上是居中的。