对表格中的文本块的行进行编号

对表格中的文本块的行进行编号

正如标题所示,我需要对表格内文本块的行进行编号,数字应该占用两位数所需的空间,而表格应该填充所有剩余的空间,如下图所示。

红色框代表我的页面边距(A4、顶部/底部 2.5 厘米、右侧/左侧 1.9 厘米、页眉和页脚),里面的黑色框代表围绕 loret ipsum 文本的表格的实际边框。

我尝试使用 tabularx 包但没有成功,我该如何实现这个结果?

在此处输入图片描述

根据要求,这是我的代码的最小版本:

\documentclass[12pt]{article}
\usepackage[a4paper, left=1.9cm, right=1.9cm, top=2.5cm, bottom=2.5cm]{geometry}

\begin{document}
% here should go the table and the row numbering
\end{document}

答案1

使用\internallinenumbers

\documentclass{article}
\usepackage{lineno}
\usepackage{lipsum}
\usepackage{tabularx}
\begin{document}
\noindent\begin{tabularx}{\linewidth}{r|>{\internallinenumbers}X|}
\cline{2-2}
&\lipsum[2]\par\\
\cline{2-2}
\end{tabularx}
\end{document}

在此处输入图片描述

答案2

这段代码会对一行进行编号longtable,但是如果行的内容太长,它当然不会自动分页。

C

\documentclass[12pt]{article}

\usepackage[a4paper, left=1.9cm, right=1.9cm, top=2.5cm, bottom=2.5cm]{geometry}
\setlength{\topskip}{0pt}

\renewcommand{\familydefault}{\sfdefault}

\usepackage{longtable}

\usepackage{lineno}% line numbers
\def\linenumberfont{\normalfont\small\sffamily}
\linenumbersep=15pt

\usepackage{array} % p column
\usepackage{kantlipsum}% dumy text

\usepackage{showframe} % show the margins <<<<<<<<
\renewcommand*\ShowFrameColor{\color{red}}

\begin{document}
\Large
        
    \begin{longtable}{p{1.5ex}| >{\internallinenumbers}p{\dimexpr\textwidth-4\tabcolsep-1.5ex}|} 
        \hline
    &   \kant[1-2]\\\hline
    &   \kant[3-4]
    \end{longtable} 
        
\end{document}

相关内容