1)分号;
分隔符和 babel
使用该包csvsimple
,我发现我可以使用分号;
分隔符只有当babel
包未加载时:
\documentclass[varwidth,margin=0.5cm]{standalone}
\usepackage[french]{babel} % Comment to avoid error
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csvsimple}
\begin{filecontents*}{TestSemicolon.csv}
surname;name
MOUSE;Mickey
DUCK;Donald
\end{filecontents*}
\begin{document}
\csvreader[
head to column names,
separator=semicolon,
]{TestSemicolon.csv}{}{%
\surname~\name\\
}%
\end{document}
我收到以下错误,因为\surname
和\name
似乎未定义:
Undefined control sequence
2)逗号,
分隔符和 babel
然而,如果我使用逗号,
分隔符(中的默认选项csvsimple
),一切似乎都运行正常:
\documentclass[varwidth,margin=0.5cm]{standalone}
\usepackage[french]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{csvsimple}
\begin{filecontents*}{TestComma.csv}
surname,name
MOUSE,Mickey
DUCK,Donald
\end{filecontents*}
\begin{document}
\csvreader[
head to column names,
]{TestComma.csv}{}{%
\surname~\name\\
}%
\end{document}
可以将分号;
分隔符与csvsimple
一起使用吗babel
?
答案1
您必须禁用;
具有以下特殊含义的功能babel-french
:
\begin{filecontents*}{\jobname-semicolon.csv}
surname;name
MOUSE;Mickey
DUCK;Donald
\end{filecontents*}
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[french]{babel}
\usepackage{csvsimple}
\begin{document}
\noindent
\csvreader[
before reading=\shorthandoff{;},
head to column names,
separator=semicolon,
]{\jobname-semicolon.csv}{}{%
\surname~\name\\
}
and some other text.
\end{document}
避免utf8x
,它已经好几年没有维护了。