我正在尝试关注这个例子更改表格中的字体。这是以下代码的部分解决方案。我也无法获取更改字体的值。
\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}
一些进一步的说明。
将其放置
\label
在其引用的对象旁边,在本例中为\caption
\scriptsize
不接受争论。不要
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$
:
您可能必须{-}
在需要时使用来强制执行一元减法。