表の内容のフォントを変更する

表の内容のフォントを変更する

私は従おうとしているこの例表のフォントを変更します。これは、以下のコードの部分的な解決策です。フォントを変更するための値も取得できません。

\documentclass{article}

\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage[format=plain,
  labelformat=simple,
  font={small,sf,bf},
  indention=0cm,
  labelsep=period,
  justification=centering,
  singlelinecheck=true,
  tableposition=top,
  figureposition=bottom]{caption}

\makeatletter
\appto\@floatboxreset{%
  \ifx\@captype\andy@table
    \ttfamily
  \fi
}
\def\andy@table{table}
\makeatother

\begin{document}

Blah blah. Should be a serif font.


\begin{table}
\caption{My title}
\begin{center}
\begin{tabular}{l c c c }
\hline
 & treat x time & treat x time x female & treat x time x female \\
\hline
(Intercept)                         & $-0.03$           & $0.01$           & $-0.83^{*}$       \\
                                    & $[-0.16;\ 0.10]$  & $[-0.13;\ 0.15]$ & $[-0.93;\ -0.73]$ \\
v1                            & $-0.06$           & $-0.06$          & $-0.07$           \\
                                    & $[-0.23;\ 0.11]$  & $[-0.23;\ 0.11]$ & $[-0.18;\ 0.05]$  \\
v2                              & $0.05$            & $-0.03$          &                   \\
                                    & $[-0.04;\ 0.15]$  & $[-0.16;\ 0.11]$ &                   \\
\hline
\multicolumn{4}{l}{\scriptsize{$^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.}}
\end{tabular}
\label{m123}
\end{center}
\end{table}

Blah blah. Should be a serif font.

\end{document}

ここに画像の説明を入力してください

答え1

$不要な部分(つまり、ほぼすべての部分)を削除するだけです。

\documentclass{article}

\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage[format=plain,
  labelformat=simple,
  font={small,sf,bf},
  indention=0cm,
  labelsep=period,
  justification=centering,
  singlelinecheck=true,
  tableposition=top,
  figureposition=bottom,
]{caption}

\makeatletter
\appto\@floatboxreset{%
  \ifx\@captype\andy@table
    \ttfamily
  \fi
}
\def\andy@table{table}
\makeatother

\begin{document}

Blah blah. Should be a serif font.

\begin{table}
\centering

\caption{My title}\label{m123}

% fix the overfull
\small\addtolength{\tabcolsep}{-2pt}

\begin{tabular}{ l c c c }
\hline
 & treat x time & treat x time x female & treat x time x female \\
\hline
(Intercept) & -0.03         & 0.01          & -0.83$^{*}$    \\
            & [-0.16; 0.10] & [-0.13; 0.15] & [-0.93; -0.73] \\
v1          & -0.06         & -0.06         & -0.07          \\
            & [-0.23; 0.11] & [-0.23; 0.11] & [-0.18; 0.05]  \\
v2          & 0.05          & -0.03         &                \\
            & [-0.04; 0.15] & [-0.16; 0.11] &                \\
\hline
\multicolumn{4}{l}{%
  \scriptsize $^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.%
}
\end{tabular}

\end{table}

Blah blah. Should be a serif font.

\end{document}

ここに画像の説明を入力してください

さらにいくつかメモ。

  1. \labelをそれが参照するオブジェクトの隣に置きます。この場合は\caption

  2. \scriptsize議論は受け付けません。

  3. 環境centerでは使用しないでください。table\centering


外部プログラムによって生成されたテーブルに触れたくない場合は、少し難しくなります。

\documentclass{article}

\usepackage{booktabs}
\usepackage{etoolbox}
\usepackage[format=plain,
  labelformat=simple,
  font={small,sf,bf},
  indention=0cm,
  labelsep=period,
  justification=centering,
  singlelinecheck=true,
  tableposition=top,
  figureposition=bottom]{caption}

\makeatletter
\appto\@floatboxreset{%
  \ifx\@captype\andy@table
    \ttfamily
    \everymath{\fam=\group@mathtt\relax\andy@changemathcodes}%
  \fi
}
\def\andy@table{table}
\let\andy@space\ %
\AtBeginDocument{%
  \check@mathfonts
  \sbox\z@{$\mathtt{\xdef\group@mathtt{\gdef\noexpand\group@mathtt{\the\fam}}\group@mathtt}$}%
  \def\andy@changemathcodes{%
    \count@="2\group@mathtt00 \advance\count@`-\mathcode`-=\count@
    \count@="4\group@mathtt00 \advance\count@`[\mathcode`[=\count@
    \count@="5\group@mathtt00 \advance\count@`]\mathcode`]=\count@
    \count@="0\group@mathtt00 \advance\count@`;\mathcode`;=\count@
    \def\ {\mathopen{\andy@space}}%
  }%
}
\makeatother

\begin{document}


Blah blah. Should be a serif font; here's math: $a+b$

\begin{table}
\centering

\caption{With dollars}

% fix the overfull
\small\addtolength{\tabcolsep}{-2pt}

\begin{tabular}{ l c c c }
\hline
& treat x time & treat x time x female & treat x time x female       \\
\hline
(Intercept) & $-0.03$          & $0.01$           & $-0.83^{*}$       \\
            & $[-0.16;\ 0.10]$ & $[-0.13;\ 0.15]$ & $[-0.93;\ -0.73]$ \\
v1          & $-0.06$          & $-0.06$          & $-0.07$           \\
            & $[-0.23;\ 0.11]$ & $[-0.23;\ 0.11]$ & $[-0.18;\ 0.05]$  \\
v2          & $0.05$           & $-0.03$          &                   \\
            & $[-0.04;\ 0.15]$ & $[-0.16;\ 0.11]$ &                   \\
\hline
\multicolumn{4}{l}{%
  \scriptsize$^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.%
}
\end{tabular}

\end{table}



\begin{table}[htp]
\centering

\caption{My title}\label{m123}

% fix the overfull
\small\addtolength{\tabcolsep}{-2pt}

\begin{tabular}{ l c c c }
\hline
 & treat x time & treat x time x female & treat x time x female \\
\hline
(Intercept) & -0.03         & 0.01          & -0.83$^{*}$    \\
            & [-0.16; 0.10] & [-0.13; 0.15] & [-0.93; -0.73] \\
v1          & -0.06         & -0.06         & -0.07          \\
            & [-0.23; 0.11] & [-0.23; 0.11] & [-0.18; 0.05]  \\
v2          & 0.05          & -0.03         &                \\
            & [-0.04; 0.15] & [-0.16; 0.11] &                \\
\hline
\multicolumn{4}{l}{%
  \scriptsize $^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.%
}
\end{tabular}

\end{table}

Blah blah. Should be a serif font; here's math: $a+b$.

\end{document}

ご覧のとおり、出力は同じです。

ここに画像の説明を入力してください

答え2

これはすべての数式出力を等幅テキストを使用するように変更できますか?\everymathパッチに適切なコマンドを追加します\@floatboxreset

ここに画像の説明を入力してください

\documentclass{article}

\usepackage{etoolbox}

\makeatletter
\appto\@floatboxreset{%
  \ifx\@captype\andy@table
    \ttfamily
    % https://tex.stackexchange.com/q/119879/5764
    \everymath{\mathtt{\xdef\tmp{\fam\the\fam\relax}\aftergroup\tmp}}% 
  \fi
}
\def\andy@table{table}
\makeatother

\begin{document}

\begin{table}
  \begin{tabular}{ l *{3}{c} }
    \hline
     & treat x time & treat x time x female & treat x time x female       \\
    \hline
    (Intercept) & $-0.03$          & $0.01$           & $-0.83^{*}$       \\
                & $[-0.16;\ 0.10]$ & $[-0.13;\ 0.15]$ & $[-0.93;\ -0.73]$ \\
    v1          & $-0.06$          & $-0.06$          & $-0.07$           \\
                & $[-0.23;\ 0.11]$ & $[-0.23;\ 0.11]$ & $[-0.18;\ 0.05]$  \\
    v2          & $0.05$           & $-0.03$          &                   \\
                & $[-0.04;\ 0.15]$ & $[-0.16;\ 0.11]$ &                   \\
    \hline
    \multicolumn{4}{l}{\scriptsize{$^*$ 0 outside the confidence interval. Fixed effect of time treated as factor.}}
  \end{tabular}
\end{table}

\end{document}

残念ながら、単項マイナスの周囲のスペースは一貫していません。たとえば、次を参照してください$a - b$ $-b$ $[-b]$ ${-}b$

ここに画像の説明を入力してください

{-}必要に応じて、単項マイナスを強制的に使用する必要があります。

関連情報