正则表达式编辑乳胶表

Ant*_*ell 4 regex latex

我有一个LaTeX表(下面是代码片段),它包含每个\ underset之后的两个值(值1:标准错误;值2:估计).我想通过将\ bf {}添加到每个\ underset之后的第二个值进行编辑,只要第二个值除以第一个值大于2或小于-2.

例如,在第一个\ underet之后(在'intercept'之后),-9.686/1.742是<-2,因此我希望原始的{-9.686}读为\ bf {-9.686}.我有数百个变量,因此不首选手动.我只用notepad ++工作,但如果有必要可以尝试Python.有关PC的正则表达式和/或合适平台(编辑器/解析器等)的任何提示都将非常感激.

documentclass[letter]{article}
\usepackage{amsmath, amsthm, amssymb}  % Additional math packages

\begin{document}

\begin{table}[hptb]
\begin{center}
\begin{tabular}{|l||c|c|c|c|c|c|c|} \hline

(Intercept)&$\underset{(1.742)}{-9.686}$&$\underset{(0.907)}     
{-9.085}$&$\underset{(0.663)}{-9.724}$&$\underset{(0.565)}{-9.077}$&$\underset{(0.619)} 
{-7.601}$&$\underset{(0.838)}{-5.273}$&$\underset{(1.120)}{-3.417}$\\ 
\end{tabular}
\end{center}
\end{table}
\end{document}
Run Code Online (Sandbox Code Playgroud)

我希望输出表读起来像这样.

输出表:

\begin{document}

\begin{table}[hptb]
\begin{center}
\begin{tabular}{|l||c|c|c|c|c|c|c|} \hline

(Intercept)&$\underset{(1.742)}{\bf{-9.686}}$&$\underset{(0.907)}
{\bf{-9.085}}$&$\underset{(0.663)}{-9.724}$&$\underset{(0.565)}{\bf{-
-9.077}}$&$\underset{(0.619)}{\bf{-7.601}}$&$\underset{(0.838)} 
{-5.273}$&$\underset{(1.120)}{-1.417}$\\ 
\end{tabular}
\end{center}
\end{table}
\end{document}
Run Code Online (Sandbox Code Playgroud)

Wer*_*ner 5

这完全可以在LaTeX中完成......

在此输入图像描述

\documentclass{article}
\usepackage{amsmath,collcell,array}% http://ctan.org/pkg/{amsmathm,collcell,array}
\makeatletter
\def\insertbf@$\underset#1#2${$\underset{#1}{\mathbf{#2}}$}
\newcommand{\insertbf}[1]{\expandafter\insertbf@#1}
\newcolumntype{C}{>{\collectcell\insertbf}c<{\endcollectcell}}
\makeatother
\begin{document}

\begin{table}[hptb]
  \centering
  \begin{tabular}{|l||*{7}{c|}} \hline
    (Intercept) & $\underset{(1.742)}{-9.686}$ & $\underset{(0.907)}{-9.085}$ & $\underset{(0.663)}{-9.724}$
      & $\underset{(0.565)}{-9.077}$ & $\underset{(0.619)}{-7.601}$ & $\underset{(0.838)}{-5.273}$ 
      & $\underset{(1.120)}{-3.417}$
  \end{tabular}

  \bigskip

  \begin{tabular}{|l||*{7}{C|}} \hline
    (Intercept) & $\underset{(1.742)}{-9.686}$ & $\underset{(0.907)}{-9.085}$ & $\underset{(0.663)}{-9.724}$
      & $\underset{(0.565)}{-9.077}$ & $\underset{(0.619)}{-7.601}$ & $\underset{(0.838)}{-5.273}$ 
      & $\underset{(1.120)}{-3.417}$
  \end{tabular}  
\end{table}
\end{document}
Run Code Online (Sandbox Code Playgroud)

在上面的示例中,两个表与使用常规c列规范的顶部表相同,而底部表使用新定义的C列规范.后者拦截\underset修改第二个参数字体的设置.

collcell用于捕获列2-8中的每个单元格内容.它们必须与表单完全匹配$\underset{#1}{#2}$才能将其转换为$\underset{#1}{\mathbf{#2}}$.该array通过新定义的列简化了单元格集合(简化了代码).

有些事情需要注意:


...无论如何都要添加一个条件语句,只有\mathbf{#2}且仅当且{#2}除以的绝对值{#1}大于2 时才插入if 之前的条件语句?截至目前,它增加了\mathbf每个值{#2}.

对于变量的条件格式,这里有一个选项:

在此输入图像描述

\documentclass{article}
\usepackage{amsmath,collcell,array}% http://ctan.org/pkg/{amsmathm,collcell,array}
\usepackage[nomessages]{fp}% http://ctan.org/pkg/fp
\makeatletter
\let\stderr@format\relax
\def\stripparen@(#1){#1}% Remove parentheses
\def\insertbf@$\underset#1#2${%
  \FPabs\resultA{#2}% Absolute value of #2
  \edef\resultB{\stripparen@#1}% Extract std err
  \FPeval\result{\resultA / \resultB}% Divide est / std err
  \FPifgt\result{2}\let\stderr@format\mathbf\fi%
  $\underset{#1}{\stderr@format{#2}}$}%
\newcommand{\insertbf}[1]{\expandafter\insertbf@#1}
\newcolumntype{C}{>{\collectcell\insertbf}c<{\endcollectcell}}
\makeatother
\begin{document}

\begin{table}[hptb]
  \centering
  \begin{tabular}{|l||*{7}{c|}} \hline
    (Intercept) & $\underset{(1.742)}{-9.686}$ & $\underset{(0.907)}{-9.085}$ & $\underset{(0.663)}{-9.724}$
      & $\underset{(0.565)}{-9.077}$ & $\underset{(0.619)}{-7.601}$ & $\underset{(0.838)}{-5.273}$ 
      & $\underset{(1.120)}{-3.417}$
  \end{tabular}

  \bigskip

  \begin{tabular}{|l||*{7}{C|}} \hline
    (Intercept) & $\underset{(1.742)}{-9.686}$ & $\underset{(0.907)}{-9.085}$ & $\underset{(0.663)}{-9.724}$
      & $\underset{(0.565)}{-9.077}$ & $\underset{(0.619)}{-7.601}$ & $\underset{(0.838)}{-5.273}$ 
      & $\underset{(1.120)}{-3.417}$
  \end{tabular}  

  \bigskip

  \begin{tabular}{|l||*{7}{C|}} \hline
    (Intercept) & $\underset{(1.742)}{-2.686}$ & $\underset{(0.907)}{-9.085}$ & $\underset{(0.663)}{-9.724}$
      & $\underset{(0.565)}{-9.077}$ & $\underset{(0.619)}{-7.601}$ & $\underset{(0.838)}{-1.273}$ 
      & $\underset{(1.120)}{-3.417}$
  \end{tabular}  
\end{table}
\end{document}
Run Code Online (Sandbox Code Playgroud)

fp提供定点算术来调节某些变量的值.我确定更新的代码是不言自明的.