You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Overleaf中LaTeX导入CSV时下划线显示为小点的问题求助

解决csvsimple导入CSV时下划线显示为小点的问题

出现这个问题的核心原因是:LaTeX默认将_视为数学模式的下标命令,文本模式下直接使用未转义的_会被解析异常,最终显示为小点。以下是几种可行的解决办法:

1. 直接修改CSV文件转义下划线

把CSV里的CAHH_I替换为CAHH\_I,让LaTeX能正确识别下划线为文本字符。

2. 在csvsimple读取时处理文本

可以通过\detokenize命令处理列内容,或者自定义CSV方言来自动转义:

示例代码1:用\detokenize处理目标列

\documentclass{article}
\usepackage{csvsimple}

% 模拟你的CSV内容
\begin{filecontents*}[overwrite]{your_data.csv}
Problem Instance,Best Model
TestInstance,CAHH_I
AnotherInstance,CAHH_I
\end{filecontents*}

\begin{document}
\csvreader[
  tabular=|l|l|,
  table head=\hline Problem Instance & Best Model \\ \hline,
  late after line=\\ \hline
]{your_data.csv}{Problem Instance=\inst,Best Model=\model}{
  \inst & \detokenize{\model}
}
\end{document}

示例代码2:自定义CSV方言

通过修改字符类别码,让下划线在读取时被当作普通字符:

\documentclass{article}
\usepackage{csvsimple}

\begin{filecontents*}[overwrite]{your_data.csv}
Problem Instance,Best Model
TestInstance,CAHH_I
AnotherInstance,CAHH_I
\end{filecontents*}

% 定义处理下划线的方言
\csvloaddialect{underscore-as-text}{
  before reading={\catcode`\_=12} % 将下划线设为普通文本字符
}

\begin{document}
\csvreader[
  dialect=underscore-as-text,
  tabular=|l|l|,
  table head=\hline Problem Instance & Best Model \\ \hline,
  late after line=\\ \hline
]{your_data.csv}{Problem Instance=\inst,Best Model=\model}{
  \inst & \model
}
\end{document}

3. 全局设置下划线为普通字符

如果整个文档都不需要用_作为数学下标,可以在导言区添加以下代码,全局将下划线设为普通文本字符:

\catcode`\_=12

内容的提问来源于stack exchange,提问作者Eduardo Zárate

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:03:21