obster-y / XJTU-thesis

西安交通大学学位论文模板(LaTeX)(适用硕士、博士学位)An official LaTeX template for Xi'an Jiaotong University degree thesis (Chinese and English)
LaTeX Project Public License v1.3c
230 stars 50 forks source link

表格内字体大小无法更改 #34

Closed kamiLight closed 2 years ago

kamiLight commented 2 years ago

想把表格内的字体改小一点,网上查的说法就是加 \scriptsize或者\tiny之类,但是加了之后完全没有变化,根本无法变小或者变大,不知道是模板的原因还是别的什么原因?用的是vscode+texlive2021 image

obster-y commented 2 years ago

因为设置了 tabular/tabularx 环境内字体是五号字,所以你的命令被覆盖了,模板的具体实现方法如下

https://github.com/obster-y/XJTU-thesis/blob/5d81ffda896a4578b8ea686b35d87b0f28fb763b/LaTeX_Template/XJTU-thesis.cls#L747-L749

解决这个需求,目前没有 neat solution,后续会修改模板以方便统一调整表格内字体。

提供一个可行方案就是在需要单独修改的 table environment 前添加 \AtBeginEnvironment{tabularx}{\X},其中 \X 是字号设置命令,注意命令中不是修改 table 而是 tabular/tabularx,并在 table 后添加 \AtBeginEnvironment{tabularx}{\wuhao} 复原五号字的设置。

这一方法仅适用于一对一修改少量的表格,如果有大量表格字体需要缩小,请优先考虑修改表格排布,如调整方向,或拆分,或放于附录。

\AtBeginEnvironment{tabularx}{\xiaowu}
\begin{table}[H]
  \caption{居中}
  \begin{tabularx}{\textwidth}{YY}
  \toprule
      \textbf{Symptom} & \textbf{Metric} \\
  \midrule
      Class  & ATFD \\
      Class  & WMC \\
      Class  & TCC \\
  \bottomrule
  \end{tabularx}
\end{table}
\AtBeginEnvironment{tabularx}{\wuhao}
kamiLight commented 2 years ago

感谢回答