Как центрировать весь глоссарий, но не содержимое столбцов, используя пакет leipzig

Как центрировать весь глоссарий, но не содержимое столбцов, используя пакет leipzig

Я использую leipzigпакет для своей диссертации и хотел бы центрировать глоссарий по горизонтали на странице, но хотел бы, чтобы содержимое колонок оставалось выровненным по левому краю. Я пробовал вариации centering/center, tables, figures, 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используется для отображения границ текстовой области на странице, чтобы продемонстрировать, что глоссарий фактически центрирован.

Связанный контент