我正在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}
and ,\end{center}
因為它插入了額外的垂直空間,但當然也是可能的。 - 此
showframe
套件用於顯示頁面上文字區域的邊框,以證明術語表實際上是居中的。