如何创建具有自定义部分标题和表主体的长表?

如何创建具有自定义部分标题和表主体的长表?

我正在尝试创建一个包含 3 列的宏,第一列是中文,第二列是拼音,第三列是英文。行被分成不同的部分,以代表书中的不同章节。它应该看起来像这样。设计宏如下

我厌倦了写出来,想让我的 LaTeX 文档更干净,这样我才能看得更清楚。这是我的宏:

\newcounter{magicrownumbers}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}

\longtable[p{.02\textwidth}p{.40\textwidth} p{.40\textwidth} p{.4\textwidth}]{4}{*}{
& Chinese Characters & Pinyin & English Translation \\ \hline
\section*{Lesson {#1}: {#2}} \\
\newcommand\row{\rownumber& {#3} & {#4} & {#5} \\}}

用相同的格式书写 300 行确实很麻烦。

\rownumber & 昨天比今天暖和。& Zuótiān bǐ jīntiān nuǎnhuo. & Yesterday was warmer than today. \\

如果宏不起作用,也许我可以从文件中输入一些表格数据?所以我将格式和文本分开。有些文本我想保留在我的主 .tex 文件中,也许可以从文件中加载大部分内容。

答案1

我可能会做类似的事情(虽然我不太确定为单行定义宏是否真的能简化事情……)。无论如何,我不会将\sections 放在tabular类似环境中。实际上,我认为拆分表格甚至对文档的结构也有好处:

\documentclass{article}
\usepackage{xeCJK}
\setCJKmainfont{Noto Serif CJK SC}

\usepackage{longtable}
\usepackage{calc}

\newcounter{magicrownumbers}
\newcommand\rownumber{\stepcounter{magicrownumbers}\arabic{magicrownumbers}}

\newenvironment{mytable}
    {\begin{longtable}
        {@{} p{.1\textwidth-6\tabcolsep} p{.3\textwidth} p{.3\textwidth} p{.3\textwidth} @{}}
    }
    {\end{longtable}}

\newcommand{\sentencerow}[3]{
    \rownumber & #1 & #2 & #3 \\
}

\begin{document}

\begin{mytable}
 & \textbf{Chinese Characters} & \textbf{Pinyin} & \textbf{English Translation} \\ \hline
\end{mytable}

\section*{Lesson 1: Weather}

\begin{mytable}
\sentencerow{昨天比今天暖和。}{Zuótiān bǐ jīntiān nuǎnhuo.}{Yesterday was warmer than today.}
\sentencerow{名天比昨天冷。}{Míngtiān bǐ zuótiān lěng.}{Tomorrow will be colder than yesterday.}
\end{mytable}

\section*{Lesson 2: Transportation}

\begin{mytable}
\sentencerow{我想坐火车去北京。}{Wǒ xiǎng zuò huǒchē qù Běijīng.}{I want to go to Beijing by train.}
\end{mytable}

\end{document}

在此处输入图片描述

相关内容