Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Table中的字体不能加粗 #48

Closed
qiaott opened this issue Mar 29, 2020 · 16 comments
Closed

Table中的字体不能加粗 #48

qiaott opened this issue Mar 29, 2020 · 16 comments
Labels
good first issue Good for newcomers

Comments

@qiaott
Copy link

qiaott commented Mar 29, 2020

遇到的问题
请问一下Table中的字体为什么不能加粗,试了\bfseries,\textbf{}都没有效果?
(正文中可以正常加黑。)

如何重现你遇到的问题:
比如在原模版中的这个表格中,我想加粗“第一列”,“第二列”这两个。两种方法都不work。

\begin{table}[htbp]
\caption{\label{tab:sample}自动调节列宽的表格}
\begin{tabularx}{\linewidth}{c|X<{\centering}}
\hline
\textbf{第一列} & {\bfseries 第二列} \ \hline
xxx & xxx \ \hline
xxx & xxx \ \hline
xxx & xxx \ \hline
\end{tabularx}
\end{table}

不知道是我哪里操作有问题吗?还是我需要去哪里配置一下。求教。

@muzimuzhi
Copy link

字体文件没有提供粗体,在 latex 里也没有开启伪粗,所以加粗失败。可以通过 xeCJK 宏包选项 AutoFakeBold 开启伪粗。

全局开启

\PassOptionsToPackage{AutoFakeBold}{xeCJK}
\documentclass[...]{./config/zjuthesis}

局部开启

\begin{table}
  \addCJKfontfeatures{AutoFakeBold}
  ...
\end{table}

@muzimuzhi
Copy link

@qiaott
发现模板从 v2.0.0 开始就添加了 AutoFakeBold 选项,见提交 23a4df5 (打开后搜索 xeCJK 可定位修改位置)。所以应该不会发生你描述的问题。

请提供你的操作系统、使用的 zjuthesis 版本信息。

@TheNetAdmin
Copy link
Owner

我在 Linux 下用 TexLive 2019 编译是正常的

2020-03-29_12-37

能否使用最新版本的模板(重新下载一份)尝试一下,然后补齐 issue 模板中的信息?

@qiaott
Copy link
Author

qiaott commented Mar 30, 2020

感谢各位的回复 @muzimuzhi @TheNetAdmin
我是今年的3月才下载的模版,直接git clone的,版本核对过了,都是最新的。
我用的是Macbook,昨天为了debug升级到MacTeX 2019。
我用的是texstudio编译器,也可以用texshop,两个编译出来的结果中的表格中该加粗的都没有加粗。

网上查了资料,我现在的情况是:

如果打开table.tex文件,注释掉这两行:
%\AtBeginEnvironment{tabular}{\songti}
%\AtBeginEnvironment{tabularx}{\songti}
我的表格中的中文字体可以被加粗,英文和数字加粗没变化。
(如果我不注释这两行,那就表格内容中加粗中文,英文和数字都没变化。)

这是注释了那两行,只有中文被加粗的情况:
WechatIMG2197

我测试的代码是:

\begin{table}[htbp]
	\centering
	\fontsize{10}{10}\selectfont
	\caption{测试表格}
	\begin{tabular}{l r}
		\toprule
		\textbf{模块} & \textbf{参数} \\
		\cmidrule{1-2}
		\textbf{Module1} & \textbf{111}\\
		{\bfseries Module2} & {\bfseries 222}\\
		{Module3} & {333}\\
		\bottomrule
	\end{tabular}
\end{table}	

求解答,感谢🙏

@TheNetAdmin
Copy link
Owner

看上去可能还是和 Mac 下宋体字体有点关系

你能否用命令行编译一遍,然后贴一下 out/zjuthesis.log?

编译命令为 latexmk,详情见README和docs文件夹下的文档。

@qiaott
Copy link
Author

qiaott commented Mar 30, 2020

@@这是输出的log文件
zjuthesis.log

@TheNetAdmin
Copy link
Owner

TheNetAdmin commented Mar 30, 2020

表格内容默认使用宋体字体,这是学校模板要求的。

但看你的log文件中这部分

Package fontspec Warning: Font "Songti SC Light" does not contain requested 

(fontspec) Script "CJK". Package fontspec Info: Could not resolve font "Songti SC Bold/I" (it probably

(fontspec) doesn't exist). Package fontspec Info: Could not resolve font "Songti SC Light/I" (it probably

(fontspec) doesn't exist). 

应该是你系统下的宋体字体没有对应的粗体。

可否讲一下你是怎么安装宋体字体的呢?如果没有主动安装过,那系统提供的宋体得详细信息可以给一下么?

@qiaott
Copy link
Author

qiaott commented Mar 30, 2020

表格内容默认使用宋体字体,这是学校模板要求的。

但看你的log文件中这部分

Package fontspec Warning: Font "Songti SC Light" does not contain requested 

(fontspec) Script "CJK". Package fontspec Info: Could not resolve font "Songti SC Bold/I" (it probably

(fontspec) doesn't exist). Package fontspec Info: Could not resolve font "Songti SC Light/I" (it probably

(fontspec) doesn't exist). 

应该是你系统下的宋体字体没有对应的粗体。

可否讲一下你是怎么安装宋体字体的呢?如果没有主动安装过,那系统提供的宋体得详细信息可以给一下么?

感谢🙏,确实没有主动装过,我系统里面有这几种宋体:
image

@qiaott
Copy link
Author

qiaott commented Mar 30, 2020

我在网上看到了类似的问题:
CTeX-org/ctex-kit#335
我把fonts.tex改成了这样,别的和模版一致。
\setCJKmainfont{FangSong.ttf}
\setmainfont{TimesNewRoman.ttf}
\setCJKfamilyfont{zhsong}{Songti SC}
\renewcommand*{\songti}{\CJKfamily{zhsong}}

目前的情况是表格中的中文可以变粗体。但是英文和数字仍然没变化。
image
还是之前的代码,

\begin{table}[htbp]
	\centering
	\fontsize{10}{10}\selectfont
	\caption{测试表格}
	\begin{tabular}{l r}
		\toprule
		\textbf{模块} & \textbf{参数} \\
		\cmidrule{1-2}
		\textbf{Module1} & \textbf{111}\\
		{\bfseries Module2} & {\bfseries 222}\\
		{Module3} & {333}\\
		\bottomrule
	\end{tabular}
\end{table}	

刚发现正文中的字体,也是中文可以加粗,英文没效果,
比如下面这样的内容,编译出来中文都正常加粗了,但是英文没变化。

\textbf{这是一段测试文字, tesing testing testing}
这是一段测试文字, testing testing testing

image

想看看各位那儿是不是可以正常显示?

试了很多方法,都不work,求教大佬🙏

@TheNetAdmin
Copy link
Owner

TheNetAdmin commented Mar 30, 2020

英文和数字都是times new roman字体,我看到的代码里是直接指定了代码字体文件

能否尝试安装 TimesNewRoman.ttf 到系统,并下载安装一个Times New Roman Bold字体

然后代码改为 \setmainfont{Times New Roman},再使用命令行编译,并附上 log 文件

@qiaott
Copy link
Author

qiaott commented Mar 30, 2020

系统里面已经有times new roman字体,我刚装了以后,有重复:
image

这是新的log:
zjuthesis.log

感谢

@TheNetAdmin
Copy link
Owner

抱歉刚刚的comment写错了,应该是 代码改为\setmainfont{Times New Roman}

有空的话能否再尝试一下,我也正在 Linux 上测试这个问题,似乎 Linux 也有类似问题

@qiaott
Copy link
Author

qiaott commented Mar 30, 2020

抱歉刚刚的comment写错了,应该是 代码改为\setmainfont{Times New Roman}

有空的话能否再尝试一下,我也正在 Linux 上测试这个问题,似乎 Linux 也有类似问题

我现在可以正常显示了,我网上查了一下,看到这个链接:https://tex.stackexchange.com/questions/67768/times-new-roman-font

现在我把fonts.tex配置成:
\usepackage{fontspec}
\setmainfont{Times New Roman}
\setCJKmainfont{FangSong.ttf}
\setCJKfamilyfont{zhsong}{Songti SC}
\renewcommand*{\songti}{\CJKfamily{zhsong}}
就OK了!!

@TheNetAdmin
Copy link
Owner

NICE job!

同时我在 Linux 下也复现了“英文与数字无法加粗”的问题,解决步骤如下

  1. 最初我只安装了 TimesNewRoman.ttf 字体:
❯ fc-list | grep -i times
/home/user/.fonts/TimesNewRoman.ttf: Times New Roman:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,thường,Arrunta
  1. 此时英文与数字无法加粗,但安装全套 Times New Roman 字体后(在 Manjaro Linux 下安装 aur 包 ttf-ms-fonts)后,可得到全套字体
❯ fc-list | grep -i times
/usr/share/fonts/TTF/times.ttf: Times New Roman:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,thường,Arrunta
/usr/share/fonts/TTF/timesi.ttf: Times New Roman:style=Italic,cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,kursywa,Itálico,Курсив,İtalik,Poševno,nghiêng,Etzana
/usr/share/fonts/TTF/timesbd.ttf: Times New Roman:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiona,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/TTF/timesbi.ttf: Times New Roman:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,nghiêng đậm,Lodi etzana
/usr/share/fonts/TTF/TSCu_Times.ttf: TSCu_Times:style=Normal
  1. 之后就可以正常加粗字体了

@TheNetAdmin
Copy link
Owner

看起来问题已经解决,此 issue 关闭,后续会将字体在 Mac 和 Linux 下出现的问题与解决步骤写入文档,并对代码作出调整。

感谢各位的贡献!

@qiaott
Copy link
Author

qiaott commented Mar 30, 2020

NICE job!

同时我在 Linux 下也复现了“英文与数字无法加粗”的问题,解决步骤如下

  1. 最初我只安装了 TimesNewRoman.ttf 字体:
❯ fc-list | grep -i times
/home/user/.fonts/TimesNewRoman.ttf: Times New Roman:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,thường,Arrunta
  1. 此时英文与数字无法加粗,但安装全套 Times New Roman 字体后(在 Manjaro Linux 下安装 aur 包 ttf-ms-fonts)后,可得到全套字体
❯ fc-list | grep -i times
/usr/share/fonts/TTF/times.ttf: Times New Roman:style=Regular,Normal,obyčejné,Standard,Κανονικά,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,thường,Arrunta
/usr/share/fonts/TTF/timesi.ttf: Times New Roman:style=Italic,cursiva,kurzíva,kursiv,Πλάγια,Kursivoitu,Italique,Dőlt,Corsivo,Cursief,kursywa,Itálico,Курсив,İtalik,Poševno,nghiêng,Etzana
/usr/share/fonts/TTF/timesbd.ttf: Times New Roman:style=Bold,Negreta,tučné,fed,Fett,Έντονα,Negrita,Lihavoitu,Gras,Félkövér,Grassetto,Vet,Halvfet,Pogrubiona,Negrito,Полужирный,Fet,Kalın,Krepko,đậm,Lodia
/usr/share/fonts/TTF/timesbi.ttf: Times New Roman:style=Bold Italic,Negreta cursiva,tučné kurzíva,fed kursiv,Fett Kursiv,Έντονα Πλάγια,Negrita Cursiva,Lihavoitu Kursivoi,Gras Italique,Félkövér dőlt,Grassetto Corsivo,Vet Cursief,Halvfet Kursiv,Pogrubiona kursywa,Negrito Itálico,Полужирный Курсив,Tučná kurzíva,Fet Kursiv,Kalın İtalik,Krepko poševno,nghiêng đậm,Lodi etzana
/usr/share/fonts/TTF/TSCu_Times.ttf: TSCu_Times:style=Normal
  1. 之后就可以正常加粗字体了

感谢耐心解答!!!好人一生平安😄

@TheNetAdmin TheNetAdmin added the good first issue Good for newcomers label Mar 30, 2020
TheNetAdmin added a commit that referenced this issue Mar 30, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

3 participants