相关问题:
我无法同时满足所有这些要求:
- 创建一个枚举列表。
- 分布在两列上,使用乳胶进行平衡。
- 每列居中对齐其内容(整体而言)相对于列的中心。例如,不会破坏项目标签的对齐。
编辑:
删除了之前的示例,转而采用我找到的部分解决方案。输出可以在视觉上实现我想要的效果,但它取决于手动调整\styleone
(1cm
在示例中)中的参数,用眼睛调整它很繁琐,而且在视觉上不是最佳的。不过,我不确定如何正确计算它。
\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{forarray}
\newcommand{\styleone}[2]{\hbox to 1cm{\textbf{#1}}}
\newcommand{\clist}[1]{
\begin{enumerate}
\centering
\setlength{\itemsep}{2pt}%
\setlength{\parskip}{0cm}%
\ForEach{;}
{
{\item \ \expandafter\styleone\thislevelitem\par}
}{#1}
\end{enumerate}
}
\begin{document}
\lipsum[1]
\medskip
\begin{multicols}{2}
\raggedcolumns
\clist{
{Jake};
{Jill};
{John};
{James};
{Jillian};
{Jake};
{Jill};
{John};
{James};
{Jillian};
{Jake};
{Jill};
{John};
{James};
{Jillian}
}
\end{multicols}
\end{document}
答案1
最简单的方法是使用\makebox
具有一定宽度规范的 ,这里设置为0.85\columnwidth
,然后应用包装器命令(例如,对每个项目文本)\forcecenteritem
或自动列表循环,进行居中,\forcecenteritem
也使用 。后一种方法要求先将项目内容存储到列表中,这是通过 完成的\forcsvlist
。(如果项目内容本身出现逗号,请使用 来{...}
分组此内容,请参阅示例。
\documentclass{article}
\usepackage{lipsum}
\usepackage{multicol}
\usepackage{etoolbox}
\listgadd{\mylist}{}
\forcsvlist{\listgadd\mylist}{%
Jake, Jill,
John, Janine,
James, Jake,
Jill, John,
Janine, James,
Jake, Jill,
John, Janine,
{%
James, Jake,
Jill, John,
Janine%
}%
}
\newcommand{\centerthestuff}[1]{%
\item \forcecenteritem{#1}%
}
\newcommand{\forcecenteritem}[1]{%
\makebox[0.85\columnwidth]{#1}%
}
\begin{document}
\lipsum[1]
\setlength{\columnseprule}{1pt}
\begin{multicols}{2}
\begin{enumerate}
\forlistloop{\centerthestuff}{\mylist}
\end{enumerate}
\end{multicols}
\begin{multicols}{2}
\begin{enumerate}
\item \forcecenteritem{Jake}
\item \forcecenteritem{Jill}
\item \forcecenteritem{John}
\item \forcecenteritem{Janine}
\item \forcecenteritem{James}
\item \forcecenteritem{Jake}
\item \forcecenteritem{Jill}
\item \forcecenteritem{John}
\item \forcecenteritem{Janine}
\item \forcecenteritem{James}
\item \forcecenteritem{Jake}
\item \forcecenteritem{Jill}
\item \forcecenteritem{John}
\item \forcecenteritem{Janine}
\item \forcecenteritem{James}
\end{enumerate}
\end{multicols}
\end{document}