我有:
\documentclass[11pt]{article}
\begin{document}
This is the main tex document.
\input{tables}
\end{document}
在tables.tex
文件中,我只有数字表。我想减小表中使用的字体大小,而不修改tables.tex
。是否有可以在之前输入的适当命令\input{tables}
?
仅供参考,tables.tex
看起来像:
\begin{table}[htbp]
\caption{table caption}
\begin{tabular}{rr}
$u$ & 0.00
\end{tabular}
\end{table}
答案1
这对我有用:
{\renewcommand\normalsize{\tiny}%
\normalsize
\input{tables}}
答案2
您可以使用etoolbox
包裹点击tabular
环境的开始并修改字体大小。在下面的 MWE 中,tabular
字体大小设置为\Huge
:
\documentclass{article}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\BeforeBeginEnvironment{tabular}{\Huge}% Adjust tabular font size to \Huge
\begin{filecontents*}{table.tex}
\begin{table}[htbp]
\centering
\caption{table caption}
\begin{tabular}{rr}
$u$ & 0.00
\end{tabular}
\end{table}
\end{filecontents*}
\begin{document}
Here is some dummy text.
\input{table}%
Here is some more dummy text.
\end{document}
顾名思义,命令在环境开始之前\BeforeBeginEnvironment{<env>}{<stuff>}
插入-在这种情况下。<stuff>
<env>
tabular
如果您只想修改使用 包含的表\input
,那么最好定义自己的\input
命令,例如\myinput
,并将其与@Boris 的答案结合起来。以下是如何做到这一点的示例:
\documentclass{article}
\usepackage{filecontents}% http://ctan.org/pkg/filecontents
\begin{filecontents*}{table.tex}
\begin{table}
\centering
\caption{A table included via \texttt{input}}
\begin{tabular}{rr}
$u$ & 0.00
\end{tabular}
\end{table}
\end{filecontents*}
\newcommand{\myinput}[1]{%
\begingroup%
\renewcommand\normalsize{\tiny}% Specify your font modification
\input{#1}%
\endgroup%
}
\begin{document}
Here is some dummy text.
\myinput{table}%
Here is some more dummy text.
\begin{table}
\centering
\caption{A table in the main document}
\begin{tabular}{rr}
$u$ & 0.00
\end{tabular}
\end{table}
\end{document}
在命令内进行分组\myinput{<file>}
(使用\begingroup...\endgroup
)可确保\normalsize
重新定义保持本地。
答案3
在下面的例子中,我定义了一个\CFTable
带有一个可选参数的新命令,该命令重新定义了标准文档类所定义的table
和table*
环境;可选参数将选择要应用于表格的字体大小切换(它不会对标题产生任何影响);可选参数的有效值为tiny
、scriptsize
、footnotesize
、small
(默认)、normalsize
、large
、Large
、LARGE
、huge
和Huge
:
\RequirePackage{filecontents}
\begin{filecontents*}{testtables.tex}
\begin{table}
\centering
\caption{Some test table}
\begin{tabular}{cc}
text & text \\
123 & 234\\
123 & 234\\
123 & 234\\
123 & 234\\
123 & 234\\
\end{tabular}
\end{table}
\end{filecontents*}
\documentclass{article}
\makeatletter
\newcommand\CTFont[1][small]{
\renewenvironment{table}
{\@float{table}\csname#1\endcsname}
{\end@float}
\renewenvironment{table*}
{\@dblfloat{table}\csname#1\endcsname}
{\end@dblfloat}
}
\makeatother
\begin{document}
\begingroup
\CTFont% tables in \small size
\input{testtables}
\endgroup
\begingroup
\CTFont[tiny]% tables in \tiny size
\input{testtables}
\endgroup
\begingroup
\CTFont[Large]% tables in \Large size
\input{testtables}
\endgroup
\end{document}
该filecontents
包和filecontents*
环境仅提供完整的可编译示例;您在实际代码中不需要它们。
通过上述代码,字体大小的变化只会影响表格内容,而不会影响标题;要实现同时改变标题字体大小,只需加载包即可caption
:
\usepackage{caption}
并将的定义更改\CFTable
为
\makeatletter
\newcommand\CTFont[1][small]{
\captionsetup[table]{font=#1}
\renewenvironment{table}
{\@float{table}\csname#1\endcsname}
{\end@float}
\renewenvironment{table*}
{\@dblfloat{table}\csname#1\endcsname}
{\end@dblfloat}
}
\makeatother
但是 现在可选参数的唯一有效值是scriptsize
、、(默认)footnotesize
、、和。small
normalsize
large
Large
答案4
{
\renewcommand\normalsize{
\fontsize{10pt}{17pt}\selectfont}
\normalsize\input{your-table-or-file}
}
使用 定义大小和间距\fontsize{10pt}{17pt}
。
与 pdflatex 兼容,但不确定是否适用于 XeLatex 和其他产品。