tabto 包的问题

tabto 包的问题

我对原本很优秀的“tabto”包有一个问题:位于第一个制表位之后的大文本的基线计算不正确,导致与上一行出现难看的重叠。

以下是一个例子:

\documentclass{article}
\usepackage{amsmath}
\usepackage{tabto}

\begin{document}

Here is a list of some items:

\NumTabs{3}
\noindent
(a) An item.\tab
(b) Another item. \tab
(c) Again, an item. \tab
(d) {\huge A rather large item.} \tab
(e) The final item.

\vspace{12pt}

Here is a list of some items:

\NumTabs{2}
\noindent
(a) An item.\tab
(b) Another item. \tab
(c) Again, an item. \tab
(d) {\huge A rather large item.} \tab
(e) The final item.

\end{document}

第一组标签项看起来很棒。第二组中的“相当大的项目”与上一行的文本重叠。

如果有人对我的文档或软件包的补丁提出解决方法的建议,我将不胜感激。

答案1

现在这是一个这样的答案:有一个适用于该类型的包。:)它被称为:ta-dah!-多枚举

\documentclass{article}
\usepackage{amsmath}
\usepackage{multienum}

\begin{document}

Here is a list of some items:

\begin{multienumerate}
\mitemxxx{An item.}{Another item.}{Again, an item.}
\mitemxox{\huge A rather large item.}{The final item.}
\end{multienumerate}

\vspace{12pt}

\begin{multienumerate}
\mitemxxo{An item.}{Another item.}
\mitemxxo{Again, an item.}{\huge A rather large item.}
\mitemx{The final item.}{}
\end{multienumerate}

\end{document}

生成结果:

在此处输入图片描述

答案2

与您无关,tabto切勿使用未在范围内包含段落结尾的大小更改命令,否则基线间距将是错误的。

不确定这是否可爱,但你可以去

(d) \huge A rather large item. \tab\normalsize

这使得

在此处输入图片描述

或者你可以去

(d) {\huge A rather large item.\par} \tab

在此处输入图片描述

答案3

我最终通过使用表格环境解决了这个问题,这比我尝试的方法要好得多。其他答案都很好,但考虑到我的限制,都没有奏效。无论如何,以下是我使用的方法,以防它有用(或可以改进)。

\int_new:N \l__tabs_columns
\dim_new:N \l__tabs_space

\newcounter{tabstop}
\DeclareExpandableDocumentCommand \thetabstop{} {\itemstyle{\alph{tabstop}}}

\cs_new:Nn \l__tabs_item: {
  \int_compare:nT
    { \value{tabstop} != 0 }
    {
      \int_compare:nTF
      { \int_mod:nn{ \value{tabstop} }{ \l__tabs_columns }  == 0 }
      { \\ }
      { & }
    }
  \refstepcounter{tabstop}
  \thetabstop {~}
}

\NewDocumentEnvironment {tabs}{m} {
  \setlength {\tabcolsep} {0pt}
  \setcounter {tabstop} {0}
  \int_set:Nn \l__tabs_columns {#1}
  \dim_set:Nn \l__tabs_space { \textwidth / \l__tabs_columns }
  \cs_set_eq:NN \item \l__tabs_item:
  \par \addvspace{0.10\onelineskip} \noindent
  \begin{tabular}[t]{*{\l__tabs_columns}{p{\l__tabs_space}}}
}{
  \end{tabular}
  \par \addvspace{0.20\onelineskip} \noindent \ignorespacesafterend
}

我像这样使用它:

Give the domain of definition of each function $f$ defined below, and describe
or sketch its graph:
\begin{tabs}{3}
  \item\label{first} $f(x) = 1/(1 + x^2)$
  \item\label{second} $f(x,y) = 4 - x^2 - y^2$
  \item $f(x) = x/(x - 1)$
  \item $f(x,y) = 1/(x^2 - y^2)$
  \item $f(x,y) = \tfrac{1}{2}(1/x + 1/y)$
  \item $f(x,y) = \sqrt{x^2 + y^2}$
  \item $f(x,y) = x^y$.
\end{tabs}

对我来说似乎没有任何问题。

相关内容