我有代码
\usepackage[inline]{enumitem}
\makeatletter
% This command ignores the optional argument for itemize and enumerate lists
\newcommand{\inlineitem}[1][]{%
\ifnum\enit@type=\tw@
{\descriptionlabel{#1}}
\hspace{\labelsep}%
\else
\ifnum\enit@type=\z@
\refstepcounter{\@listctr}\fi
\quad\@itemlabel\hspace{\labelsep}%
\fi}
\begin{document}
\begin {itemize}
\setlength\itemsep{0em}
\item Substrate (\textbf {S}) \inlineitem Enzyme (\textbf {E})
\item Complex (\textbf {SE}) \inlineitem Product (\textbf {P})
\end {itemize}
\end{document}
我希望它们彼此保持一致。即底物要点与复合物要点保持一致(事实确实如此),而酶要点也与产品要点保持一致,而目前它们并不保持一致。
答案1
这里有两种方法,一种是使用表格和特殊B
类型(如 Bullet 中的 B),另一种是使用tasks
环境(这是首选)
\documentclass{article}
\usepackage{tasks}
\usepackage{array}
\newcolumntype{B}[1]{@{}>{\textbullet\quad\raggedright}p{#1}@{}}
\begin{document}
\begin{tabular}{*{2}{B{5cm}}}
Substrate (\textbf {S}) & Enzyme (\textbf {E}) \tabularnewline
Complex (\textbf{SE}) & Product (\textbf {P})
\end{tabular}
\begin{tasks}[style=itemize](2)
\task Substrate (\textbf {S}) \task Enzyme (\textbf {E})
\task Complex (\textbf {SE}) \task Product (\textbf {P})
\end{tasks}
\end{document}
仅包含表格的版本,通过 \noindent 删除缩进
\documentclass{article}
\usepackage{array}
\usepackage{showframe}
\newcolumntype{B}[1]{@{}>{\textbullet\quad\raggedright}p{#1}@{}}
\begin{document}
\noindent
\begin{tabular}{*{2}{B{5cm}}}
Substrate (\textbf {S}) & Enzyme (\textbf {E}) \tabularnewline[1ex]
Complex (\textbf{SE}) & Product (\textbf {P})
\end{tabular}
\end{document}
答案2
[inline]
的选项不是enumitem
为按列对齐的列表设计的,而是为项目之间具有恒定水平间距的水平列表设计的,例如 的 inparaenum
和inparaitem
环境paralist
。
对于按列对齐的列表,您可以使用tasks
包,也可以使用shortlst
,它可以在 CTAN 上找到,但由于许可原因,它不是 TeX Live 或 MiKTeX 的一部分。
这里我定义了一个tabitemize
带有可选参数的包,即对齐的列数(3
默认情况下)。请注意,当项目内容比单个列宽时,它将使用当前列和下一列:
\documentclass[11pt, a4paper]{article}
\usepackage{shortlst}
\newenvironment{tabitemize}[1][3]{%
\settowidth{\labelwidth}{\labelitemi}%
\setlength{\leftmargini}{\dimexpr\parindent+\labelwidth+\labelsep\relax}%
\setlength{\shortitemwidth}{\dimexpr\linewidth/#1-\labelwidth-2\labelsep\relax}%
\begin{shortitemize}}%
{\end{shortitemize}}%
\usepackage{lipsum}
\begin{document}
\begin{tabitemize}[2]
\setlength\itemsep{0em}
\item Substrate (\textbf {S})
\item Enzyme (\textbf {E})
\item Complex (\textbf {SE})
\item Product (\textbf {P})
\end{tabitemize}
\end{document}
添加:安装程序shortlst
包对于每个用户:
首先,您需要有一个texmf-local
用于本地添加的目录根。TeX Live 和 MacTeX 已经存在该目录根,但 MiKTeX 尚不存在。对于 MiKTeX,您必须打开MiKTeX Settings (Admin)
、Roots
选项卡并单击Add…
按钮以添加新的 TeX 目录根。您可以为其指定所需的名称。其内容必须根据 TeX 目录结构 ( TDS
) 进行组织。
接下来,下载 CTAN 包。它只包含两个文件:shortlst.dtx
和shortlst.pdf
(文档)。将 .pdf 文件放入texmf-local\doc\latex\shortlst\
。
然后你必须创建shortlst.sty
。为此,你要编译shortlst.dtx
,这将产生一系列文件,其中包括shortlst.pdf
(再次是文档)和最重要的shortlst.ins
。编译shortlst.ins
。另一系列文件,其中包括shortlst.sty
你放入的宝贵texmflocal\latex\shortlst\
。
最后一步:再次使用 MiKTeX 设置(管理员)(选项卡)删除所有文件(除了您放置在texmf-local
和中的文件)。refresh the FNDB
General