将多个表格单元格转换为数学模式 Lyx

将多个表格单元格转换为数学模式 Lyx

我正在将 .CSV 文件导入 LyX 以制作表格。此过程运行良好,但表格单元格中的数字被解释为普通文本。我可以选择单个单元格并按 cmd+m,然后该单元格将转换为数学模式。

但是,当我选择多个单元格然后按 cmd+m 时,该命令被禁用,并且我无法更改单元格的格式。

关于如何做到这一点有什么建议吗?

答案1

这个解决方案是最不优雅的,但它展示了一种在类似情况下有用的手动方法:

您想要转换为数学模式的表格部分的尺寸是多少?假设它是 3x5,因此我们需要将 15 个单元格转换为数学模式。

Alt-X 打开并激活迷你缓冲区(位于屏幕的最底部)。输入以下命令:

repeat 15 command-sequence char-backward-select; math-mode; cell-forward

解释:

repeat 15重复以下命令 15 次。

command-sequence表示该命令实际上是用分号分隔的一系列命令。

char-backward-select选择整个单元格。

math-mode将选择内容转换为数学模式。

cell-forward将光标移动到下一个单元格的开头。

答案2

您可以在表格设置中将整个列更改为数学模式,或将列类型更改为S列(从siunitx)。右键单击单元格,然后选择更多.. --> 设置,即可找到表格设置。

自定义列说明符写在LaTeX 参数 框,位于对话框底部。要使用S列,只需S在此框中写入。要将整个列设置为数学模式(并居中),请写入,如下面的屏幕截图所示。如果您希望数字列右对齐或左对齐,请分别用或>{$}c<{$}替换。crl

要加载siunitx,请转到文档 --> 设置 --> LaTeX 前言,然后添加

\usepackage{siunitx}

要使用>{} <{}列说明符,您必须加载array包,因此添加

\usepackage{array}

回到序言。

要更改其他列,只需单击要更改的列以将光标放置在那里,无需关闭表格设置对话框。您将看到当前单元格在对话框左下方发生变化。

如果您不想在数学模式下显示列中的某些单元格,可以使用以下方法\multicolumn:右键单击单元格,选择更多 --> 多列。这同样适用于S列中的非数字单元格。

对于S-columns,还有另一种方法可以“转义”非数字单元格,即在单元格内容前后的 ERT 中添加括号。也就是说,{在单元格开头添加一个 ERT 包含,}在结尾添加一个 ERT 包含。

在此处输入图片描述

答案3

您是否考虑过使用siunitx 包裹? 它允许您创建S专门用于此目的的 型列。

来自的例子siunitx 包装文档(第 4.6 节):

\documentclass{report}

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}    
\usepackage[english]{babel}
\usepackage{siunitx}  
\usepackage{booktabs}  

\begin{document}

\begin{table}
\caption{Standard behaviour of the \texttt{S} column type.}
\label{tab:S:standard}
\centering
\begin{tabular}{S}
\toprule
{Some Values} \\
\midrule
2.3456 \\
34.2345 \\
-6.7835 \\
90.473 \\
5642.5 \\
1.2e3 \\
e4 \\
\bottomrule
\end{tabular}
\end{table}


\begin{table}
\caption{Detection of surrounding material in an \texttt{S}
column.}
\label{tab:S:extras}
\centering
\begin{tabular}{S[color=orange]}
\toprule
{Some Values} \\
\midrule
12.34 \\
\color{purple} 975,31 \\
44.268 \textsuperscript{\emph{a}} \\
\bottomrule
\end{tabular}
\end{table}

\end{document}

产生的输出如下所示:

在此处输入图片描述

相关内容