从 csv 创建表格,设置适当的参数,将其包含在内容中

从 csv 创建表格,设置适当的参数,将其包含在内容中

我有以下 csv 文件,想要读取并显示为表格:

"";"a01";"a02";"a03";"a04";"a05";"b01";"b02";"b03";"b04";"b05";"t01"
"a01";0;147632;181326;199650;271006;197441;215211;291227;131358;126435;268400
"a02";147632;0;456;145466;259520;136489;165306;768;174075;160202;256612
"a03";271006;259520;0;249326;0;249935;249608;241720;326917;292472;263386
"a04";7;119114;0;0;246267;133549;263651;258427;6;193472;251168
"a05";199650;145466;256502;0;0;135343;131358;259080;234963;250919;343499
"b01";197441;6;133549;763;249935;0;162260;259712;233051;678;251516
"b02";215211;165306;148099;6;249608;162260;0;256502;253780;228519;245948
"b03";256612;270029;258427;6;241720;259712;256502;0;343499;308085;263651
"b04";131358;8;215073;54;326917;233051;253780;0;0;678;313316
"b05";126435;160202;193472;211280;292472;209561;228519;0;0;0;283208
"t01";268400;256612;251168;6;263386;251516;245948;263651;256502;283208;0

按照代码基本上可以工作,但问题是表格不适合文档边界:

\singlespacing
\csvautotabular[separator=semicolon]{./tables/matrix.csv}
\doublespacing

我的要求:

  1. 第一行/列是标题,如果可能的话应该加粗或以某种方式突出显示(如果不行也没关系)
  2. 如果数字对于列宽来说太长,则可以对数字进行换行/换字
  3. 在内容部分中包含表格并能够在文本中引用它。

有一些针对特定问题的答案,但没有一个能满足我的所有要求,不幸的是,我不知道如何将它们结合起来以实现预期目标。据我所知,还有一个csvreader函数可以更好地控制列样式、标题和内容。但我对此感到很困惑,我担心我误解了这里的关键内容(在整个 LaTeX 哲学中,而不仅仅是这个包)。我根本不理解语法、结构等,阅读 LaTeX 手册对我来说很痛苦,例如

示例中提到了以下代码(我已经将其打印出来了):

\csvreader[tabular          = |l|l|c|,
           table head       = \hline & Name & Age\\\hline,
           late after line  = \\\hline]%
           {scientists.csv}
           {name=\name,
            surname=\surname, age=\age}%
          {\thecsvrow & \surname~\name & \age}%
  1. 怎么会有%标牌?不是%用来评论的吗?
  2. 如果我理解正确,那么所有 between[]都是函数/宏的非强制选项,csvreader例如tabularlate after line是参数。所有 between{}都是强制选项,对吗?所以一般语法是这样的:csvreader[]%{}{}%{}%对吗?如果两者的[]目的都是处理参数,为什么有一个非强制组(或正确的名称是什么)和三个强制组,为什么不直接用适当的键/值{}传递给它们呢?{}
  3. 文档对于tabular说:

\begin{tabular}{<table format>}用开始和\end{tabular}结束来包围 CSV 处理。

但是什么tabular

  1. 我如何才能确定应该使用哪些参数来csvreader实现我的目标,并且不会因为这些基本的愚​​蠢问题而惹恼社区?

谢谢。

相关内容