你好,这是我写的:
\documentclass{article}
\usepackage{amsmath}
\usepackage{gensymb}
\usepackage[utf8]{inputenc}
\usepackage{csvsimple}
\usepackage{booktabs}
\usepackage{longtable}
\usepackage[T1]{fontenc}
\begin{document}
\csvautotabular{Book2.csv}
\end{document}
这是 csv 文件的内容,我用 excel 制作并用 notepad++ 转换
frequenza ν (Hz),frequenza teorica ν (Hz) ,nodi n
510,537.18,2
760,805.78,3
1010,1074.38,4
1280,1342.97,5
1550,1611.56,6
无法创建 PDF,这是错误消息:
Package gensymb Warning: Not defining \perthousand.
Package gensymb Warning: Not defining \micro.
! Undefined control sequence.
\GenericError ...
#4 \errhelp \@err@ ...
l.12 \csvautotabular{Book2.csv}
? ^C! Interruption.
\GenericError ... #4
\errhelp \@err@ ...
l.12 \csvautotabular{Book2.csv}
谢谢您的回答
答案1
可能是字体问题;君主制并且xelatex
似乎有效:
\documentclass{article}
\usepackage{fontspec}
\usepackage[greek, italian, english]{babel}
\setmainfont[Mapping=tex-text]{Gentium}
\usepackage{amsmath}
\usepackage{csvsimple}
\begin{document}
\csvautotabular{Book2.csv}
\end{document}
给予
答案2
对于pdflatex
您可以将输入中的 ν 字符映射到$\nu$
使用\newunicodecharacter
。但是,csvsimple
不允许在标题行中使用宏,因为标题值用于创建引用相应列的键。解决方法是禁用创建键的代码。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{csvsimple}
\usepackage{newunicodechar}
% map ν in input to macro
\newunicodechar{ν}{$\nu$}
\makeatletter
% switch off csvsimple column name macros
\def\set@csv@head{\relax}
\makeatother
\begin{document}
\csvautotabular{book2.csv}
\end{document}
结果:
如果您不想自己定义字符映射,那么您可以使用alphabeta
包 - 但请注意,字符看起来有点不同。
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{csvsimple}
\usepackage{alphabeta}
\makeatletter
% switch off csvsimple column name macros
\def\set@csv@head{\relax}
\makeatother
\begin{document}
\csvautotabular{book2.csv}
\end{document}