尝试解析带有俄语符号的表格。示例 csv 文件:
Название, Автор, Год
Бесы, Достоевский, 1871
无法使用任何命令从此文件创建表格:\csvloop
、\csvautotabular{table.csv}
、\csvautobooktabular{table.csv}
。但如果所有内容都是英文 — 则完美无缺。
文件table.csv
UTF-8 编码,文档使用\usepackage[utf8]{inputenc}
、\usepackage[english,russian]{babel}
。
这些是错误:
! Package csvsimple Error: File 'table.csv' starts with an empty line!.
! Missing \endcsname inserted.
! Extra \endcsname.
! File ended while scanning use of \pgfkeys@temp
在文档中或者 Tex 论坛的其他地方找不到有关此问题的任何信息。
示例 .tex 文件:
\documentclass[a4paper,11pt]{ncc}
\usepackage[english,russian]{babel}
\usepackage[utf8]{inputenc}
\usepackage{csvsimple}
\begin{document}
\csvautotabular{table.csv}
\end{document}
答案1
问题有两种类型。
第一行也用于为列提供符号名称,但西里尔字符不能出现在命令名称中。也许可以通过不解释第一行的选项来解决此问题。
西里尔字符似乎很容易混淆
csvsimple
;您需要为每个条目加上括号。
我的建议是使用 XeLaTeX。
\begin{filecontents*}{\jobname.csv}
Название, Автор, Год
Бесы, Достоевский, 1871
\end{filecontents*}
\documentclass[a4paper,11pt]{ncc}
\usepackage[english,russian]{babel}
\usepackage{fontspec}
\usepackage{csvsimple}
\setmainfont{CMU Serif}
\begin{document}
\csvautotabular{\jobname.csv}
\end{document}
我filecontents
为 CSV 文件使用了不同的名称,只是为了不破坏我的文件并使示例自成一体。