我的 MWE 仍然欺骗了我。.tex 文件中只有以下几行:
\documentclass[dvisvgm]{minimal}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\DeclareUnicodeCharacter{00B0}{\ensuremath{{}^\circ}}
%% debug overful hbox
\showboxdepth=\maxdimen%
\showboxbreadth=\maxdimen%
% \showboxdepth=5
% \showboxbreadth=5
\setlength{\overfullrule}{20pt}
\begin{document}
\begin{tikzpicture}
\node at (13.205,-11.662) {\fontsize{14}{14}SIDEREAL HOUR ANGLE};
\node[font=\fontsize{12}{14}, anchor=east] at (26.410,-11.662) {\textcopyright\enspace 2021 Firstname Lastname};
\node at (13.205,6.033) {\fontsize{12}{15}\textbf{LUNAR DISTANCE (SHA 290° to 120°)\quad06 Dec 2021}};
\node[rotate=90,font=\fontsize{14}{16}] at (-1.251,0.0) {DECLINATION};
\node[rotate=90,font=\fontsize{12}{14}] at (-1.251,-3.711) {South};
\node[rotate=90,font=\fontsize{12}{14}] at (-1.251,3.711) {North};
\end{tikzpicture}
\end{document}
我使用以下命令进行编译:
latex example.tex
dvisvgm example
并且每次我得到一个 Overfull hbox (我使用不同的文件名):
生成的 SVG 将其显示在右边框上:
- “DISTANCE” 输出为“DIST ANCE”
- 除顶行外,字体大小不正确(太小)
- 并且会产生一个巨大的“Overfull hbox”
我感到很困惑,因为我玩了剩下的几行却没有得出任何结论。我使用:
- Windows 10(当前)
- “这是 pdfTeX,版本 3.141592653-2.6-1.40.23 (MiKTeX 21.10)”
我是不是犯了一个明显的错误?非常感谢您的帮助。抱歉,我找不到“latex”标签。
12月7日更新:
使用以下命令:
latex example.tex
dvisvgm example --font-format=woff
消除了“DIST ANCE”之间的空格;顶行现在是粗体;文本的字体大小显示正确。但是溢出的水平盒子仍然存在:
Lualatex 需要注释掉\DeclareUnicodeCharacter{00B0}{\ensuremath{{}^\circ}}
并将度数符号替换为\textdegree
。然后执行:
dvilualatex example.tex
dvisvgm example --font-format=woff
剩余的水平盒子过满,由右侧的粗黑条表示(它不应该出现在那里!):
什么原因造成这种大量溢出的水平盒子?
12 月 7 日发现:
巨大的 Ovberfull hbox 是由“最小”类引起的。将类更改为“独立”,如所示,\documentclass[tikz,dvisvgm]{standalone}
此问题消失。请参阅:https://ctan.org/pkg/standalone?lang=en
但是还有一个问题:只有使用 设置为粗体时,文本大小才会改变\textbf{....}
。当前测试用例:
\documentclass[tikz,dvisvgm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture}
\node[font=\fontsize{14}{15}] at (13.205,-11.662) {\textbf{SIDEREAL HOUR ANGLE}};
\node[font=\fontsize{14}{15},anchor=east] at (26.410,-11.662) {\textcopyright\enspace 2021 Firstname Lastname};
\node[font=\fontsize{14}{15}] at (13.205,6.033) {\textbf{LUNAR DISTANCE (SHA 290\textdegree to 120\textdegree)\quad06 Dec 2021}};
\node[rotate=90,font=\fontsize{14}{15}] at (-1.251,0.0) {\textbf{DECLINATION}};
\node[rotate=90,font=\fontsize{14}{15}] at (-1.251,-3.711) {\textbf{South}};
\node[rotate=90,font=\fontsize{14}{15}] at (-1.251,3.711) {\textbf{North}};
\end{tikzpicture}
\end{document}
生成:
但我无法控制版权文本的文本大小。如果您将任何粗体文本更改为正常(删除\textbf{...}
),文本大小将恢复为某个默认大小。欢迎提供提示!
答案1
正如 Marcel Krüger 在评论中所说,minimal
在生成 Ti 时不应使用该类钾由于页面宽度和高度有限,因此无法将 Z 图片放在一页上。我费了好大劲才发现这一点。我想要一个适合 PDF 文件中 A4 横向页面的图表,然后将其放入 SVG 文件中。
我找不到课程列表,而 MiKTeX 文件夹中有 23 个可供选择。因此,猜测让我尝试了该standalone
课程(在 MiKTeXtex\latex\standalone
子文件夹中)。这解决了我遇到的大Overfull \hbox
问题。有关此类的详细信息,请参见此处:https://ctan.org/pkg/standalone?lang=en
完整的图表现在看起来是正确的(尽管星座线比 PDF 中的要细一些):
也感谢马丁!