我如何对齐这些内联要点?

我如何对齐这些内联要点?

我有代码

\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为按列对齐的列表设计的,而是为项目之间具有恒定水平间距的水平列表设计的,例如 的 inparaenuminparaitem环境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.dtxshortlst.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 FNDBGeneral

相关内容