每第 n 个倍数进行行编号

每第 n 个倍数进行行编号

我在表格环境中工作。我正在环境中编写一组 20 多行的数据。起初,我打算对每行进行编号(自动编号)。但后来我突然想到我可以每五行进行编号:5、10、15、20……等等。

做到这一点最简单的方法是什么?

这是我的源代码:

\documentclass[letterpaper,12pt]{article}

\usepackage{array}
\newcounter{rowcount}
\setcounter{rowcount}{0}


\usepackage{polyglossia}
\usepackage{fontspec}


\setmainlanguage[variant=us]{english}
\setotherlanguage{hebrew}
\setotherlanguage[variant=ancient]{greek}

\newfontfamily\greekfont[Script=Greek, Scale=MatchUppercase, Ligatures=TeX]{SBL BibLit}
\newfontfamily\hebrewfont[Script=Hebrew,Contextuals=Alternate,Ligatures=Required]{SBL BibLit}

\begin{document}

\section*{Fragment I.1: Psalm 17:26b-(LXX)}

\begin{greek}
\begin{tabular}{@{\stepcounter{rowcount}\therowcount\hspace*{\tabcolsep}}ccccccr}

  & ουεμ                                & καί μ(ετ)α                        & πρὸς                            & καὶ μ(ετ)α    & καὶ μ(ετ)α\\
  & γαβρ                                & ἀ\d{ν}δρ\d{ὸ}\d{ς}           & ἀνδρ\d{ὸ}\d{ς}             & ἀνδρὸς        & ἀνδρὸς\\
  & θαμιμ                               & τ(\d{ε}\d{λ})ε\d{ι}ο\d{υ}  & ἀκ\d{έ}ραιον                 & ἀθώιου        & ἀμωμου\\
  & θεμα\d{μ}\d{μ}\d{α}\d{μ}  & τ(ελ)(\d{ε}\d{ι})ωθήσ\d{ι} & ἀκέραια \d{π}ρ\d{ά}ζεις  & ἀθώος ἔσηι  &  ἄμωμος (ἔσ)ηι\\
  & ουεμ                                & καὶ μ(ετ)α                        & πρὸς                            & καὶ μ(ετ)α    & μ(ετ)α & 27\\ %how do I make this last column bold? Current commands (textbf and bfseries) do not seem to work...
  & ναβαρ

\end{tabular}
\end{greek}

\end{document}

最终,我总是可以在单独的列中手动输入 \therowcount。我想我只是好奇而已。

答案1

好问题!不幸的是,我的编辑器无法处理希腊字符,所以我希望您不介意我在示例中使用 ASCII 字符。当然,代码在您的用例中也有效。您可以使用它\numexpr来定义一个mod函数,利用它对分数进行舍入。

\documentclass[letterpaper,12pt]{article}

\usepackage{array}
\newcounter{rowcount}
\setcounter{rowcount}{0}

\begin{document}
\begin{tabular}{@{\stepcounter{rowcount}%
\ifnum\the\numexpr\value{rowcount}-5*(\value{rowcount}/5)=0\relax
\number\value{rowcount}%
\fi
\hspace*{\tabcolsep}
}lc}
 & A \\
 & B \\
 & C \\
 & D \\
 & E \\
 & F \\
 & G \\
 & H \\
 & I \\
 & J \\
 & K \\
 & L \\
 & M \\
 & N \\
 & O \\
 & P \\
 & Q \\
 & R \\
 & S \\
 & T \\
 & U \\
 & V \\
 & W \\
 & X \\
 & Y \\
 & Z \\
\end{tabular}
\end{document}

在此处输入图片描述

当然,可以使用宏并对其进行压缩,但我想让这个技巧保持明确。如何将其推广到其他整数(即不是 5)也是显而易见的(我希望如此;-)。您可以将其定义为一种新的列类型。

\documentclass[letterpaper,12pt]{article}
\usepackage{array}
\newcounter{rowcount}
\setcounter{rowcount}{0}
\newcolumntype{N}[1]{@{\stepcounter{rowcount}%
\ifnum\the\numexpr\value{rowcount}-#1*(\value{rowcount}/#1)=0\relax
\number\value{rowcount}%
\fi
\hspace*{\tabcolsep}
}l}
\begin{document}
\begin{tabular}{N{4}c}
 & A \\
 & B \\
 & C \\
 & D \\
 & E \\
 & F \\
 & G \\
 & H \\
 & I \\
 & J \\
 & K \\
 & L \\
 & M \\
 & N \\
 & O \\
 & P \\
 & Q \\
 & R \\
 & S \\
 & T \\
 & U \\
 & V \\
 & W \\
 & X \\
 & Y \\
 & Z \\
\end{tabular}
\end{document}

答案2

你的想法很好。我定义了一个\countrows命令,它以编号间隔作为可选参数。省略它将对所有行进行编号。

我决定将数字设置在边距中,并使用较小的字体尺寸,但这可以通过更改定义来修改。

\documentclass[letterpaper,12pt]{article}
\usepackage{polyglossia}
\usepackage{fontspec}
\usepackage{array}

\setmainfont{Libertinus Serif}
\setmainlanguage[variant=us]{english}
\setotherlanguage[variant=ancient]{greek}

\ExplSyntaxOn
\int_new:N \g_robxxviii_rowcount_int

\NewDocumentCommand{\countrows}{O{1}}
 {
  \int_gincr:N \g_robxxviii_rowcount_int
  \int_compare:nT { \int_mod:nn { \g_robxxviii_rowcount_int } { #1 } = 0 }
   {
    \makebox[0pt][r]
     {
      \footnotesize
      \int_to_arabic:n { \g_robxxviii_rowcount_int }\hspace{\tabcolsep}
     }
   }
 }
\NewDocumentCommand{\resetcountrows}{}
 {
  \int_gzero:N \g_robxxviii_rowcount_int
 }
\ExplSyntaxOff

\begin{document}

\section*{Fragment I.1: Psalm 17:26b-(LXX)}

\begin{greek}
\noindent\resetcountrows
\begin{tabular}{
  @{\countrows[5]}
  ccccc
  >{\bfseries}r
  @{}
}
ουεμ     & καί μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & καὶ μ(ετ)α\\
γαβρ     & ἀν̣δρὸ̣ς̣         & ἀνδρὸ̣ς̣          & ἀνδρὸς     & ἀνδρὸς\\
θαμιμ    & τ(ε̣λ̣)ει̣ου̣      & ἀκέ̣ραιον        & ἀθώιου     & ἀμωμου\\
θεμαμ̣μ̣α̣μ̣ & τ(ελ)(ε̣ι̣)ωθήσι̣ & ἀκέραια π̣ρά̣ζεις & ἀθώος ἔσηι &  ἄμωμος (ἔσ)ηι\\
ουεμ     & καὶ μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & μ(ετ)α & 27\\ 
ναβαρ \\
ουεμ     & καί μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & καὶ μ(ετ)α\\
γαβρ     & ἀν̣δρὸ̣ς̣         & ἀνδρὸ̣ς̣          & ἀνδρὸς     & ἀνδρὸς\\
θαμιμ    & τ(ε̣λ̣)ει̣ου̣      & ἀκέ̣ραιον        & ἀθώιου     & ἀμωμου\\
θεμαμ̣μ̣α̣μ̣ & τ(ελ)(ε̣ι̣)ωθήσι̣ & ἀκέραια π̣ρά̣ζεις & ἀθώος ἔσηι &  ἄμωμος (ἔσ)ηι\\
ουεμ     & καὶ μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & μ(ετ)α & 27\\ 
ναβαρ \\
ουεμ     & καί μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & καὶ μ(ετ)α\\
γαβρ     & ἀν̣δρὸ̣ς̣         & ἀνδρὸ̣ς̣          & ἀνδρὸς     & ἀνδρὸς\\
θαμιμ    & τ(ε̣λ̣)ει̣ου̣      & ἀκέ̣ραιον        & ἀθώιου     & ἀμωμου\\
θεμαμ̣μ̣α̣μ̣ & τ(ελ)(ε̣ι̣)ωθήσι̣ & ἀκέραια π̣ρά̣ζεις & ἀθώος ἔσηι &  ἄμωμος (ἔσ)ηι\\
ουεμ     & καὶ μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & μ(ετ)α & 27\\ 
ναβαρ \\
ουεμ     & καί μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & καὶ μ(ετ)α\\
γαβρ     & ἀν̣δρὸ̣ς̣         & ἀνδρὸ̣ς̣          & ἀνδρὸς     & ἀνδρὸς\\
θαμιμ    & τ(ε̣λ̣)ει̣ου̣      & ἀκέ̣ραιον        & ἀθώιου     & ἀμωμου\\
θεμαμ̣μ̣α̣μ̣ & τ(ελ)(ε̣ι̣)ωθήσι̣ & ἀκέραια π̣ρά̣ζεις & ἀθώος ἔσηι &  ἄμωμος (ἔσ)ηι\\
ουεμ     & καὶ μ(ετ)α     & πρὸς            & καὶ μ(ετ)α & μ(ετ)α & 27\\ 
ναβαρ \\
\end{tabular}
\end{greek}

\end{document}

在此处输入图片描述

相关内容