我在表格环境中工作。我正在环境中编写一组 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}