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