Forgot password?
 Create new account
View 147|Reply 8

latex里字体出现的警告

[Copy link]

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

abababa Posted at 2024-3-9 13:51:24 |Read mode
如题,我编译时总是出现下面三个警告,以前一直没留意,这个要怎么解决?
  1. LaTeX Font Warning: Font shape `U/esvect/m/n' in size <4.015> not available
  2. (Font)              size <5> substituted on input line 15.
  3. LaTeX Font Warning: Font shape `U/stmry/m/n' in size <4.015> not available
  4. (Font)              size <5> substituted on input line 15.
  5. LaTeX Font Warning: Font shape `U/rsfs/m/n' in size <4.015> not available
  6. (Font)              size <5> substituted on input line 15.
Copy the Code

2

Threads

465

Posts

6357

Credits

Credits
6357
QQ

Show all posts

爪机专用 Posted at 2024-3-9 14:02:57
给一段可重现问题的最小代码呗
I am majia of kuing

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2024-3-9 15:14:08
爪机专用 发表于 2024-3-9 14:02
给一段可重现问题的最小代码呗
  1. \documentclass[10pt]{article}
  2. \usepackage{amsmath,yhmath}
  3. % 字体
  4. \usepackage{xltxtra,fontspec,xunicode}
  5. \usepackage[slantfont,boldfont]{xeCJK}
  6. % 公式中直接使用中文,不用加\text{}
  7. \xeCJKsetup{CJKmath=true}
  8. \punctstyle{kaiming}
  9. \usepackage{lipsum}
  10. \usepackage[inline]{asymptote}
  11. \begin{document}
  12. 题:$M$为双曲线$\frac{x^2}{a^2}-\frac{y^2}{b^2}, (a>0, b>0)$上异于顶点的任意一点,双曲线焦点为$F_1(-c,0), F_2(c,0)$,$\angle MF_1F_2=\alpha, \angle MF_2F_1=\beta$,求$\tan\frac{\alpha}{2}\cdot\cot\frac{\beta}{2}$。
  13. \begin{asydef}
  14. settings.prc = true;
  15. settings.embed = true;
  16. import three;
  17. import math;
  18. import geometry;
  19. import graph3;
  20. import texcolors;
  21. point perpAt(point C, line l) {
  22.         line m = perpendicular(C, l);
  23.         return intersectionpoint(m, l);
  24. }
  25. \end{asydef}
  26. \begin{asy}
  27. size(5cm,0);
  28. point F1=(-2,0), F2=(2,0), M=(1.5,3.5);
  29. hyperbola h=hyperbola(F1, F2, M);
  30. point I=incenter(F1,F2,M);
  31. point T=perpAt(I, line(F1,F2));
  32. circle c=circle(I,length(segment(I,T)));
  33. segment IF1=segment(I,F1);
  34. segment IF2= segment(I,F2);
  35. segment IT=segment(I,T);
  36. currentpen=OliveGreen+linewidth(1);
  37. draw(h);
  38. draw(M--F1--F2--cycle);
  39. currentpen=Purple+linewidth(1);
  40. draw(c);
  41. for(segment s:new segment[]{IF1,IF2,IT}) {
  42.         draw(s);
  43. }
  44. currentpen=blue+fontsize(8);
  45. for(point pp:new point[]{F1,F2,M}) {
  46.         dot(pp);
  47. }
  48. currentpen=purple+fontsize(8);
  49. for(point pp:new point[]{I,T}) {
  50.         dot(pp);
  51. }
  52. // 虚拟点,扩展可视范围
  53. dot((0,-2),invisible);
  54. currentpen=blue+fontsize(8);
  55. label("$F_1$", F1, align=SW);
  56. label("$F_2$", F2, align=SE);
  57. label("$M$", M, align=NE);
  58. currentpen=purple+fontsize(8);
  59. label("$I$", I, align=NW);
  60. label("$T$", T, align=SE);
  61. \end{asy}
  62. 证明:作$\triangle MF_1F_2$的内切圆$\odot I$,设其与$F_1F_2$切于点$T$。于是
  63. \[\tan\frac{\alpha}{2}\cdot\cot\frac{\beta}{2}=\frac{IT}{F_1T}\cdot\frac{F_2T}{IT}=\frac{F_2T}{F_1T}\]
  64. 由于$F_1T+F_2T=2c, F_1T-F_2T=MF_1-MF_2=2a$,所以$F_1T=a+c, F_2T=c-a$,所以$\frac{F_2T}{F_1T}=\frac{c-a}{c+a}$,即$\tan\frac{\alpha}{2}\cdot\cot\frac{\beta}{2}=\frac{c-a}{c+a}$。
  65. \end{document}
Copy the Code


如上代码,文件名为index.tex。编译时先xelatex index,再asy *.asy,最后再xelatex index,在index.log里就能看到这几个警告。警告和主楼的那个不太一样,觉得可能是字体的问题,这里我没设置字体。如果把作图那部分删除,就不会出警告。

另外不知道什么原因,作图之后的证明部分字体颜色都变成紫色了,但不影响主楼的问题。

701

Threads

110K

Posts

910K

Credits

Credits
94172
QQ

Show all posts

kuing Posted at 2024-3-9 15:31:50
abababa 发表于 2024-3-9 15:14
如上代码,文件名为index.tex。编译时先xelatex index,再asy *.asy,最后再xelatex index,在index.lo ...
将 fontsize(8) 改大一点,比如 fontsize(10),就不会出现警告。

可能是不能设太小,那些字体没那么小的字号?

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2024-3-9 15:35:56
kuing 发表于 2024-3-9 15:31
将 fontsize(8) 改大一点,比如 fontsize(10),就不会出现警告。

可能是不能设太小,那些字体没那么小的 ...
确实,但那些字母也变大了,有些简单的图里还行,有的图字母就压住线了。

701

Threads

110K

Posts

910K

Credits

Credits
94172
QQ

Show all posts

kuing Posted at 2024-3-9 16:20:48
abababa 发表于 2024-3-9 15:35
确实,但那些字母也变大了,有些简单的图里还行,有的图字母就压住线了。 ...
所以你照用 fontsize(8) 就行了,不用管这个警告。

设 fontsize(8) ,在生成的 index-1.tex 里变成 \fontsize{8.030000}{9.636000}\selectfont (多出 0.03 不知为啥,应该是 asy 的问题)
而只有出现 下下标 或 上上标 时,才会使用到比最小值 <5> 还小的 <4.015>
而且它也只是告诉你它会用最小值来代替,所以并不会有任何问题。

701

Threads

110K

Posts

910K

Credits

Credits
94172
QQ

Show all posts

kuing Posted at 2024-3-9 17:33:45
kuing 发表于 2024-3-9 16:20
所以你照用 fontsize(8) 就行了,不用管这个警告。

设 fontsize(8) ,在生成的 index-1.tex 里变成 \fontsize{8.030000}{9.636000}\selectfont (多出 0.03 不知为啥...
了解了一下字号相关的东西,发现其实就是这个多出 0.03 的问题。

我尝试过,在运行 asy *.asy 之后,打开 index-1.tex 手动将所有 8.030000 都改成 8,保存,再 xelatex 就不会有警告。

按我的粗略理解,这是因为 latex 预设了若干整数字号下的数学字体规则,其中就有 \DeclareMathSizes{8}{8}{6}{5},所以如果是 \fontsize{8}{...} 那它就会应用这个规则,下标 6,下下标 5。
但对于 8.030000 这种非常规数字,它就会用另一种方法去计算,下标为 0.7 倍,下下标为 0.5 倍,所以就会出现 4.015,小于字体的最小字号 5,于是警告。

701

Threads

110K

Posts

910K

Credits

Credits
94172
QQ

Show all posts

kuing Posted at 2024-3-9 18:43:14
Last edited by kuing at 2024-3-9 18:57:00
kuing 发表于 2024-3-9 17:33
了解了一下字号相关的东西,发现其实就是这个多出 0.03 的问题。

我尝试过,在运行 asy *.asy 之后,打 ...
哦,看来是单位的问题,asy 的单位可能不是 pt 所以造成误差?

我又尝试将 fontsize(8) 改成 fontsize(8pt),警告就没有了!

那能否将 asy 的单位设为 pt?我不了解 asy……

418

Threads

1628

Posts

110K

Credits

Credits
11891

Show all posts

 Author| abababa Posted at 2024-3-9 21:28:07
kuing 发表于 2024-3-9 18:43
哦,看来是单位的问题,asy 的单位可能不是 pt 所以造成误差?

我又尝试将 fontsize(8) 改成 fontsize(8 ...
果然如此,弄成带单位的就好了。

手机版Mobile version|Leisure Math Forum

2025-4-20 22:06 GMT+8

Powered by Discuz!

× Quick Reply To Top Return to the list