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用語集を設定するために環境を使用します。デフォルトでは、使用可能な水平スペース全体を取得し、それを 2 列 (またはそれ以上) に分割します。環境が既に使用可能な幅全体を取得し、中央に配置されているmulticolため、その周囲に中央揃えコマンドを実行しても効果はありません。multicol

列に必要なスペースだけを占有し、残りの水平スペースを使用して、スリムになった 2 列の用語集を中央に配置したいとお考えのようですね。そのためには、 を、使用可能な全幅よりも小さい固定幅の環境に配置し\printglossesminipageこの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パッケージは、用語集が実際に中央に配置されていることを示すために、ページ上のテキスト領域の境界線を表示するために使用されます。

関連情報