我正在尝试将特定列转换为科学计数法

我正在尝试将特定列转换为科学计数法

我有最终的表格:

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{pdflscape}
\usepackage{longtable}
\usepackage[table]{xcolor}
\usepackage{siunitx}
\sisetup{scientific-notation = true}
\begin{document}
\begin{landscape}
\begin{longtable}{ r *{8}{l}}
  \caption{Amplified Genes in Claudin-Low Breast Cancer}\label{tab:genes}\\
  \hline
  & Gene & Description & Cytoband & Chr & Start & End & qValue & qValueRes\\ 
   \hline
  \endfirsthead
  \multicolumn{8}{c}{Table \ref{tab:genes}, continued}\\[1ex]
  \hline
 & Gene & Description & Cytoband & Chr & Start & End & qValue & qValueRes\\ 
  \hline
  \endhead
  \hline
  \multicolumn{8}{r@{}}{(continued on next page)}
  \endfoot
 \hline
  \endlastfoot

1 & A26B1 & protein expressed in prostate, ovary, testis, & 15q11.2 & chr15 & 19305252 & 19336667 & 9.368e-03 & 2.180e-02 \\
2 & APOD & apolipoprotein D precursor & 3q29 & chr3 & 196776864 & 196792278 & 1.058e-06 & 1.411e-03 \\
3 & BEST3 & vitelliform macular dystrophy 2-like 3 isoform & 12q15 & chr12 & 68333655 & 68379463 & 2.563e-02 & 5.281e-02 \\
4 & BTNL3 & butyrophilin-like 3 & 5q35.3 & chr5 & 180348506 & 180366333 & 1.536e-01 & 1.536e-01 \\
5 & BTNL8 & butyrophilin-like 8 long form & 5q35.3 & chr5 & 180258734 & 180310512 & 1.536e-01 & 1.536e-01 \\
6 & BTNL8 & butyrophilin-like 8 short form & 5q35.3 & chr5 & 180258764 & 180310512 & 1.536e-01 & 1.536e-01 \\
7 & CCT2 & chaperonin containing TCP1, subunit 2 & 12q15 & chr12 & 68265474 & 68281624 & 2.563e-02 & 5.281e-02 \\
8 & CDC73 & parafibromin & 1q31.2 & chr1 & 191357783 & 191487679 & 4.733e-13 & 1.100e-07 \\
9 & CNOT2 & CCR4-NOT transcription complex, subunit 2 & 12q15 & chr12 & 68923043 & 69035040 & 2.563e-02 & 5.281e-02 \\
10 & COMT & catechol-O-methyltransferase isoform MB-COMT & 22q11.21 & chr22 & 18309308 & 18336530 & 6.394e-02 & 1.434e-01 \\
11 & COMT & catechol-O-methyltransferase isoform S-COMT & 22q11.21 & chr22 & 18330069 & 18336530 & 6.394e-02 & 1.434e-01 \\
12 & CORO7 & coronin 7 & 16p13.3 & chr16 & 4344543 & 4406640 & 6.141e-03 & 9.789e-03 \\
13 & CPM & carboxypeptidase M precursor & 12q15 & chr12 & 67531222 & 67613246 & 2.563e-02 & 5.281e-02 \\
14 & CPSF6 & cleavage and polyadenylation specific factor 6, & 12q15 & chr12 & 67919583 & 67954405 & 2.563e-02 & 5.281e-02 \\
15 & DDT & D-dopachrome tautomerase & 22q11.23 & chr22 & 22643553 & 22646680 & 4.911e-02 & 6.605e-01 \\
16 & DDTL & D-dopachrome tautomerase-like & 22q11.23 & chr22 & 22639025 & 22644748 & 4.911e-02 & 6.605e-01 \\
17 & DNAJA3 & DnaJ (Hsp40) homolog, subfamily A, member 3 & 16p13.3 & chr16 & 4415882 & 4446776 & 6.141e-03 & 9.789e-03 \\
18 & DOK6 & docking protein 6 & 18q22.2 & chr18 & 65219270 & 65660359 & 2.252e-04 & 2.252e-04 \\
19 & DUSP10 & dual specificity phosphatase 10 isoform a & 1q41 & chr1 & 219941388 & 219982084 & 2.665e-06 & 4.799e-03 \\
20 & DUSP10 & dual specificity phosphatase 10 isoform b & 1q41 & chr1 & 219941388 & 219977425 & 2.665e-06 & 4.799e-03 \\
21 & ERBB2 & erbB-2 isoform b & 17q12 & chr17 & 35097918 & 35138441 & 3.669e-18 & 1.469e-12 \\
22 & ERBB2 & erbB-2 isoform a & 17q12 & chr17 & 35109779 & 35138441 & 3.669e-18 & 1.469e-12 \\
23 & ERG & v-ets erythroblastosis virus E26 oncogene like & 21q22.2 & chr21 & 38675670 & 38955488 & 1.059e-02 & 8.621e-02 \\
24 & ERLIN2 & ER lipid raft associated 2 isoform 1 & 8p12 & chr8 & 37713254 & 37734477 & 4.232e-21 & 4.232e-21 \\
25 & ERLIN2 & ER lipid raft associated 2 isoform 2 & 8p12 & chr8 & 37713356 & 37723229 & 4.232e-21 & 4.232e-21 \\
26 & FLJ20433 & hypothetical protein LOC54932 & 9q34.3 & chr9 & 139321168 & 139437535 & 2.261e-02 & 2.261e-02 \\
27 & FLJ39743 & hypothetical protein LOC283777 & 15q26.3 & chr15 & 96797913 & 96875134 & 7.172e-02 & 8.621e-02 \\
28 & FLT3 & fms-related tyrosine kinase 3 & 13q12.2 & chr13 & 27475410 & 27572729 & 5.457e-03 & 8.051e-03 \\
29 & FOXP4 & forkhead box P4 isoform 2 & 6p21.1 & chr6 & 41622141 & 41678100 & 2.261e-02 & 2.241e-01 \\
30 & FOXP4 & forkhead box P4 isoform 1 & 6p21.1 & chr6 & 41622141 & 41678100 & 2.261e-02 & 2.241e-01 \\
31 & FOXP4 & forkhead box P4 isoform 3 & 6p21.1 & chr6 & 41622141 & 41678100 & 2.261e-02 & 2.241e-01 \\
32 & FRS2 & fibroblast growth factor receptor substrate 2 & 12q15 & chr12 & 68150395 & 68259829 & 2.563e-02 & 5.281e-02 \\
33 & GAB1 & GRB2-associated binding protein 1 isoform a & 4q31.21 & chr4 & 144477499 & 144610729 & 1.173e-03 & 3.202e-02 \\
34 & GAB1 & GRB2-associated binding protein 1 isoform b & 4q31.21 & chr4 & 144477499 & 144610729 & 1.173e-03 & 3.202e-02 \\
35 & GSTT2 & glutathione S-transferase theta 2 & 22q11.23 & chr22 & 22629600 & 22633393 & 4.911e-02 & 6.605e-01 \\
36 & GSTT2B & glutathione S-transferase theta 2B & 22q11.23 & chr22 & 22629600 & 22633368 & 4.911e-02 & 6.605e-01 \\
37 & hsa-mir-570 & hsa-mir-570 & 3q29 & chr3 & 196911451 & 196911548 & 1.058e-06 & 1.411e-03 \\
38 & IGF1R & insulin-like growth factor 1 receptor precursor & 15q26.3 & chr15 & 97010283 & 97325282 & 7.172e-02 & 8.621e-02 \\
39 & KCNMB4 & calcium-activated potassium channel beta 4 & 12q15 & chr12 & 69046328 & 69111245 & 2.563e-02 & 5.281e-02 \\
40 & KIT & v-kit Hardy-Zuckerman 4 feline sarcoma viral & 4q12 & chr4 & 55218851 & 55301638 & 2.090e-02 & 2.019e-01 \\
41 & LANCL2 & LanC lantibiotic synthetase component C-like 2 & 7p11.2 & chr7 & 55400634 & 55468929 & 8.329e-02 & 1.484e-01 \\
42 & LOC145814 & hypothetical protein LOC145814 & 15q26.3 & chr15 & 97329031 & 97366314 & 7.172e-02 & 8.621e-02 \\
43 & LOC283755 & hypothetical protein LOC283755 & 15q11.2 & chr15 & 18848557 & 18971443 & 9.368e-03 & 2.180e-02 \\
44 & LOC283767 & hypothetical protein LOC283767 & 15q11.2 & chr15 & 20287609 & 20296164 & 9.368e-03 & 2.180e-02 \\
45 & LOC646227 & hypothetical protein LOC646227 & 5q35.3 & chr5 & 180341823 & 180345858 & 1.536e-01 & 1.536e-01 \\
46 & LOC650137 & seven transmembrane helix receptor & 15q11.2 & chr15 & 19915065 & 19915749 & 9.368e-03 & 2.180e-02 \\
47 & LRRC10 & leucine rich repeat containing 10 & 12q15 & chr12 & 68288611 & 68291209 & 2.563e-02 & 5.281e-02 \\
48 & LYZ & lysozyme precursor & 12q15 & chr12 & 68028400 & 68034280 & 2.563e-02 & 5.281e-02 \\
49 & Magmas & mitochondria-associated granulocyte macrophage & 16p13.3 & chr16 & 4330252 & 4341301 & 6.141e-03 & 9.789e-03 \\
50 & MDFI & MyoD family inhibitor & 6p21.1 & chr6 & 41714230 & 41729959 & 2.261e-02 & 2.241e-01 \\
51 & MUC20 & mucin 20 isoform S & 3q29 & chr3 & 196936768 & 196950211 & 1.058e-06 & 1.411e-03 \\
52 & MUC20 & mucin 20 isoform L & 3q29 & chr3 & 196933423 & 196950211 & 1.058e-06 & 1.411e-03 \\
53 & NACA2 & nascent-polypeptide-associated complex alpha & 17q23.2 & chr17 & 57022571 & 57023345 & 2.490e-11 & 8.370e-08 \\
54 & OR11H12 & olfactory receptor, family 11, subfamily H, & 14q11.1 & chr14 & 18447593 & 18448574 & 1.500e-02 & 1.500e-02 \\
55 & OR4M2 & olfactory receptor, family 4, subfamily M, & 15q11.2 & chr15 & 19869939 & 19870881 & 9.368e-03 & 2.180e-02 \\
56 & OR4N4 & olfactory receptor, family 4, subfamily N, & 15q11.2 & chr15 & 19883836 & 19884787 & 9.368e-03 & 2.180e-02 \\
57 & PGC & progastricsin (pepsinogen C) & 6p21.1 & chr6 & 41812429 & 41823099 & 2.261e-02 & 2.241e-01 \\
58 & PIK3CA & phosphoinositide-3-kinase, catalytic, alpha & 3q26.32 & chr3 & 180349004 & 180435191 & 1.521e-03 & 1.631e-02 \\
59 & PLXNC1 & plexin C1 & 12q22 & chr12 & 93066629 & 93223356 & 3.435e-02 & 1.116e-01 \\
60 & PTK2 & PTK2 protein tyrosine kinase 2 isoform b & 8q24.3 & chr8 & 141737682 & 142080514 & 5.141e-21 & 5.814e-11 \\
61 & PTK2 & PTK2 protein tyrosine kinase 2 isoform a & 8q24.3 & chr8 & 141737682 & 142080514 & 5.141e-21 & 5.814e-11 \\
62 & PTPRB & protein tyrosine phosphatase, receptor type, B & 12q15 & chr12 & 69196898 & 69317486 & 2.563e-02 & 5.281e-02 \\
63 & PTPRD & protein tyrosine phosphatase, receptor type, D & 9p23 & chr9 & 8304245 & 10602509 & 4.362e-02 & 6.394e-02 \\
64 & PTPRR & protein tyrosine phosphatase, receptor type, R & 12q15 & chr12 & 69318128 & 69600851 & 2.563e-02 & 5.281e-02 \\
65 & RAB3IP & RAB3A interacting protein isoform A & 12q15 & chr12 & 68459020 & 68503251 & 2.563e-02 & 5.281e-02 \\
66 & RAB3IP & RAB3A interacting protein isoform beta 1 & 12q15 & chr12 & 68418897 & 68503251 & 2.563e-02 & 5.281e-02 \\
67 & RAB3IP & RAB3A interacting protein isoform alpha 1 & 12q15 & chr12 & 68418897 & 68503251 & 2.563e-02 & 5.281e-02 \\
68 & RAB3IP & RAB3A interacting protein isoform beta 2 & 12q15 & chr12 & 68419446 & 68503251 & 2.563e-02 & 5.281e-02 \\
69 & RAB3IP & RAB3A interacting protein isoform alpha 2 & 12q15 & chr12 & 68419446 & 68503251 & 2.563e-02 & 5.281e-02 \\
70 & RB1 & retinoblastoma 1 & 13q14.2 & chr13 & 47775883 & 47954027 & 1.198e-01 & 1.484e-01 \\
71 & RET & ret proto-oncogene isoform c & 10q11.21 & chr10 & 42892522 & 42942958 & 3.826e-03 & 5.702e-02 \\
72 & RET & ret proto-oncogene isoform a & 10q11.21 & chr10 & 42892522 & 42945803 & 3.826e-03 & 5.702e-02 \\
73 & TFEB & transcription factor EB & 6p21.1 & chr6 & 41759693 & 41810776 & 2.261e-02 & 2.241e-01 \\
74 & TMPRSS11E & transmembrane protease, serine 11E & 4q13.2 & chr4 & 68995761 & 69045917 & 7.513e-06 & 1.555e-04 \\
75 & TMPRSS11E2 & transmembrane protease, serine 11E2 & 4q13.2 & chr4 & 68995761 & 69045917 & 7.513e-06 & 1.555e-04 \\
76 & UGT2B15 & UDP glycosyltransferase 2 family, polypeptide & 4q13.2 & chr4 & 69194909 & 69218969 & 7.513e-06 & 1.555e-04 \\
77 & UGT2B17 & UDP glucuronosyltransferase 2 family, & 4q13.2 & chr4 & 69085497 & 69116840 & 7.513e-06 & 1.555e-04 \\
78 & VASN & slit-like 2 & 16p13.3 & chr16 & 4361849 & 4373530 & 6.141e-03 & 9.789e-03 \\
79 & YEATS4 & glioma-amplified sequence-41 & 12q15 & chr12 & 68039798 & 68070843 & 2.563e-02 & 5.281e-02 \\
80 & ZDHHC11 & zinc finger, DHHC-type containing 11 & 5p15.33 & chr5 & 848721 & 904101 & 8.051e-03 & 2.761e-02 \\
81 & ZNF709 & zinc finger protein 709 & 19p13.2 & chr19 & 12435742 & 12456632 & 1.980e-08 & 1.980e-08 \\
    \end{longtable}
    \end{document}

这是其中的一部分。科学计数法不起作用。例如,9.368e-03 无法转换为 9.68 x 10^3。

我正在为我的论文学习 latex,并且很难学会如何指示 latex 解析特定列。在使用 latex 之前,我有几个类似的表,目前正在 R 中编辑。我将不胜感激任何建议。谢谢!

在此处输入图片描述

答案1

正如 Heiko Oberdiek 所说(他比我快一点...),您没有确定显示科学格式的列。请尝试以下操作:

\documentclass{article}
\usepackage[margin=1in]{geometry}
\usepackage{pdflscape}
\usepackage{longtable}
\usepackage[table]{xcolor}
\usepackage{siunitx}
\sisetup{% added for better formatting of S columns
exponent-product = \cdot,
table-figures-integer  = 1,
table-figures-decimal  = 3,
table-figures-exponent = 2,
tight-spacing = true
}%
\sisetup{scientific-notation = true}
\begin{document}
\begin{landscape}
\begin{longtable}{@{\extracolsep{\fill}}r% added @Amar suggestion
       *{6}{l}@{\hskip-10pt}%
             S@{\hskip-10pt}S@{}}
  \caption{Amplified Genes in Claudin-Low Breast Cancer}\label{tab:genes}\\
  \hline
  & Gene & Description & Cytoband & Chr & Start & End 
    & {qValue} & {qValueRes}    \\
   \hline
  \endfirsthead
  \multicolumn{8}{c}{Table \ref{tab:genes}, continued}\\[1ex]
  \hline
 & Gene & Description & Cytoband & Chr & Start & End 
    & {qValue} & {qValueRes}\\
  \hline
  \endhead
  \hline
  \multicolumn{8}{r@{}}{(continued on next page)}
  \endfoot
 \hline
  \endlastfoot
1 & A26B1 & protein expressed in prostate, ovary, testis, 
        & 15q11.2 & chr15 & 19305252 & 19336667 & 9.368e-03 & 2.180e-02 \\
2 & APOD & apolipoprotein D precursor 
        & 3q29 & chr3 & 196776864 & 196792278 & 1.058e-06 & 1.411e-03 \\
3 & BEST3 & vitelliform macular dystrophy 2-like 3 isoform 
        & 12q15 & chr12 & 68333655 & 68379463 & 2.563e-02 & 5.281e-02 \\
4 & BTNL3 & butyrophilin-like 3 
        & 5q35.3 & chr5 & 180348506 & 180366333 & 1.536e-01 & 1.536e-01 \\
    \end{longtable}
\end{landscape}
    \end{document}

我只取了表格的一部分来展示如何使用 S 列。要获得表格的最终形式,您至少需要对文件进行两次编译 (latexing)。

在此处输入图片描述

答案2

siunitx是一个l3kernel依赖包。如果您和我一样,使用的是旧安装,或者只是不想LaTeX3为文档中的几个数字使用繁重的包,或者可能是出于其他原因,那么还有另一种解决方案。

@Jonathan 的问题启发了我做一些盒子外面经过一番思考,我想出了以下解决方案。我并不认为它是完美的,不过,这里有很多 TeX 专家可以解决任何问题,如果有的话!

这个解决方案基于这样的假设:少量的体力劳动是可以接受的!

我使用xstring包的\StrSubstitute命令来替换给定输入中的某些文本;通常采用 的形式1.536e-01。并定义一个新命令,用于从输入数字中\StrSubstitute删除e并将其排版为科学计数法的形式,即1.536×10^-01。其余的是不言自明的。

笔记: 如果输入数字的形式为 1.536-01 即没有 e 但会 失败 如果它的形式 1.536-E01 E

\documentclass{article}
\usepackage{booktabs}
\usepackage{xstring} % for text replacement
\usepackage{xcolor}
\providecommand{\sci}[1]{\protect\ensuremath{\times 10^{\StrSubstitute[0]{#1}{e}{}}}}
% \sci will remove "e" from the input and typeset the result as \times 10^
% because we have used \StrSubstitute[0]{#1}{e}{} ; 
% where from the input, "e" is replaced by blank i.e. deleted!
% usage: if 1.536e-01 is to be converted then -- 1.536\sci{e-01} gives 2.180×10^-02
\begin{document}
{\noindent\Large 1.536e-01 is the input number, which we would like to\\[8pt]
convert to a number in scientific notation, like so \textemdash}\\[0.35in]
%
\hspace*{\fill}{\huge \fcolorbox{cyan!25}{cyan!15}{1.536\sci{e-01}}}\hspace*{\fill}
\vspace*{0.3in}
{                                   % Begin group -- To keep the effect local!
\renewcommand*{\arraystretch}{1.75}
\begin{table}[h]
\large
\begin{center}
\begin{tabular}{@{\extracolsep{\fill}}@{\hskip 3em}c@{\hskip 6em}c@{\hskip 3em}@{}}
\toprule
\textbf{qValue} & \textbf{qValueRes}\\
\midrule
9.368\sci{e-03} & 2.180\sci{e-02} \\
1.058\sci{e-06} & 1.411\sci{e-03} \\
2.563\sci{e-02} & 5.281\sci{e-02} \\
\colorbox{gray!50}{1.536e-01} & \colorbox{gray!50}{1.536e-01} \\ % original numbers!
\colorbox{gray!50}{1.536e-01} & \colorbox{gray!50}{1.536e-01} \\ % original numbers!
1.536\sci{e-01} & 1.536\sci{e-01} \\
2.563\sci{e-02} & 5.281\sci{e-02} \\
\bottomrule
\end{tabular}
\end{center}
\caption{Test}
\label{tab:test}
\end{table}
}                                   % End group -- To keep the effect local!
\end{document}

上面给出的代码的输出:

免责声明:这只是排版科学数字的另一种方式。这绝对不是原帖者问题的解决方案;原帖者的问题已经解决了!

相关内容