我有一个包含许多类似表格的大型文档。我希望将文件名分成几行,以便它们适合列。
在这种情况下,有没有办法告诉 Latex 它可以以某个字符断开所有单词_
?(最好不要引入连字符)
\documentclass{article}
\begin{document}
\begin{tabular}{p{.12\textwidth}|l|p{.12\textwidth}|l|l}
\hline
Filename & Balanceo & Clase mayoritaria & Result & test \\ \hline
fase\_1\_y\_2\_data.csv & Sin balanceo & 84 & 84.9 & 85.0 \\ \hline
fase\_1\_y\_3\_data.csv & Upsample & 50 en train y 84 en test bla bla bla bla & 80.1 & 72.7 \\ \hline
fase\_8\_y\_2\_data.csv & Downsample & 50 en train y 84 en test & 50.2 & 84.9 \\ \hline
\end{tabular}
\end{document}
答案1
我创建了一个在、和\url
上中断的宏(注意:在参数中使用文字,而不是)。/
.
_
_
\_
我还将第三列设置为右边参差不齐。
\documentclass{article}
\usepackage{array}
\catcode`_=12
\newcommand{\url}[1]{%
\begingroup
\ttfamily
\begingroup\lccode`~=`/\lowercase{\endgroup\def~}{/\penalty0 }%
\begingroup\lccode`~=`.\lowercase{\endgroup\def~}{.\penalty0 }%
\begingroup\lccode`~=`_\lowercase{\endgroup\def~}{_\penalty0 }%
\catcode`/=\active\catcode`.=\active\catcode`_=\active
\scantokens{#1\noexpand}%
\endgroup
}
\catcode`_=8
\begin{document}
\begin{tabular}{p{.12\textwidth}|l|>{\raggedright}p{.12\textwidth}|l|l}
\hline
Filename & Balanceo & Clase mayoritaria & Result & test \\ \hline
\url{fase_1_y_2_data.csv} & Sin balanceo & 84 & 84.9 & 85.0 \\ \hline
\url{fase_1_y_3_data.csv} & Upsample & 50 en train y 84 en test bla bla bla bla & 80.1 & 72.7 \\ \hline
\url{fase_8_y_2_data.csv} & Downsample & 50 en train y 84 en test & 50.2 & 84.9 \\ \hline
\end{tabular}
\end{document}
答案2
我建议您加载array
和xurl
包并将文件名括在\url
语句中。这样,您就不必转义下划线字符。
\documentclass{article}
\usepackage[T1]{fontenc} % for heftier underscore characters
\usepackage{array,xurl}
\begin{document}
\begin{tabular}{>{\raggedright}p{.16\textwidth}|l|
>{\raggedright}p{.24\textwidth}|l|l}
\hline
Filename & Balanceo & Clase mayoritaria & Result & test \\ \hline
\url{fase_1_y_2_data.csv} & Sin balanceo & 84 & 84.9 & 85.0 \\ \hline
\url{fase_1_y_3_data.csv} & Upsample & 50 en train y 84 en test bla bla bla bla & 80.1 & 72.7 \\ \hline
\url{fase_8_y_2_data.csv} & Downsample & 50 en train y 84 en test & 50.2 & 84.9 \\ \hline
\end{tabular}
\end{document}
答案3
这是一个使用包\url
中的命令的可能解决方案url
。如果您也使用该hyperref
包,您可能希望用tabular
该NoHyper
包包围您的,以防止为每个 url 创建超链接。我还添加了一个新的左对齐列类型,而不是原来的对齐p
类型列。
\documentclass{article}
\usepackage{array} % for the new column type
\newcolumntype{L}[1]{>{\raggedright\arraybackslash}p{#1\textwidth}}
\usepackage{url}\urlstyle{same}
\usepackage{hyperref}
\begin{document}
\begin{NoHyper} % only include that if you also use the hyperref package
\begin{tabular}{L{0.12}|l|L{0.12}|l|l}
\hline
Filename & Balanceo & Clase mayoritaria & Result & test \\ \hline
\url{fase_1_y_2_data.csv} & Sin balanceo & 84 & 84.9 & 85.0 \\ \hline
\url{fase_1_y_3_data.csv} & Upsample & 50 en train y 84 en test bla bla bla bla & 80.1 & 72.7 \\ \hline
\url{fase_8_y_2_data.csv} & Downsample & 50 en train y 84 en test & 50.2 & 84.9 \\ \hline
\end{tabular}
\end{NoHyper}
\end{document}