![将所有标准 LaTeX 字体替换为 [任意字体] 以供期刊提交](https://linux22.com/image/267937/%E5%B0%86%E6%89%80%E6%9C%89%E6%A0%87%E5%87%86%20LaTeX%20%E5%AD%97%E4%BD%93%E6%9B%BF%E6%8D%A2%E4%B8%BA%20%5B%E4%BB%BB%E6%84%8F%E5%AD%97%E4%BD%93%5D%20%E4%BB%A5%E4%BE%9B%E6%9C%9F%E5%88%8A%E6%8F%90%E4%BA%A4.png)
我提交给物理杂志的请求是,图片文件不得包含任何非标准字体。就标准字体而言,包括:Times-Roman、Times-Italic、Times-Bold、Times-BoldItalic、Helvetica、Helvetica-Oblique、Helvetica-Bold、Helvetica-BoldOblique、Courier、Courier-Oblique、Courier-Bold、Courier-BoldOblique、Symbol。
我正在使用以下代码生成独立的 pdf 文件,但似乎无法摆脱所有“非标准” LaTeX 字体,特别是“CMMI10”和“CMSY7”。请注意,我正在使用 XeLaTeX 来编译代码。
\documentclass{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{verbatim}
\usepackage{mathspec}
\setallmainfonts{Times New Roman}
\setallsansfonts{Arial}
\setallmonofonts{Courier New}
\begin{document}
\pgfplotsset{every axis plot post/.append style={line width=1.0pt}}
\pgfplotsset{grid style=dotted}
\begin{tikzpicture}
\begin{loglogaxis}
[clip marker paths=true,
xlabel=background field amplitude $B_{\text{a}}$ / T,
ylabel=losses $Q$ / J/cycle/m,
xmin=2e-3, xmax=5e-2,
ymin=1e-4, ymax=1e-1,
xtick={2e-3,5e-3,1e-2,2e-2,5e-2},
xticklabel style={/pgf/number format/.cd,fixed,precision=3},
xticklabel={%
\pgfmathfloatparsenumber{\tick}%
\pgfmathfloatexp{\pgfmathresult}%
\pgfmathprintnumber{\pgfmathresult}%
},
minor xtick={3e-3,4e-3,6e-3,7e-3,8e-3,9e-3,1.1e-2,1.2e-2,1.3e-2,1.4e-2,1.5e-2,1.6e-2,1.7e-2,1.8e-2,1.9e-2,3e-2,4e-2},
grid=major
]
\end{loglogaxis}
\end{tikzpicture}
\end{document}
有什么想法可以如何从我的文件中删除剩下的两种字体?
答案1
@约翰:从视觉上看,除了 TNR 之外可能没有其他东西。Meferdati 的问题似乎是其他字体嵌入在pdf中。
现在,当您进一步最小化最小示例时,它们嵌入的原因就变得清晰了:
\documentclass{scrartcl}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{verbatim}
\usepackage{mathspec}
\setallmainfonts{Times New Roman}
\setallsansfonts{Arial}
\setallmonofonts{Courier New}
\begin{document}
% \pgfplotsset{every axis plot post/.append style={line width=1.0pt}}
% \pgfplotsset{grid style=dotted}
\begin{tikzpicture}
% \begin{loglogaxis}
% [clip marker paths=true,
% xlabel=background field amplitude $B_{\text{a}}$ / T,
% ylabel=losses $Q$ / J/cycle/m,
% xmin=2e-3, xmax=5e-2,
% ymin=1e-4, ymax=1e-1,
% xtick={2e-3,5e-3,1e-2,2e-2,5e-2},
% xticklabel style={/pgf/number format/.cd,fixed,precision=3},
% xticklabel={%
% \pgfmathfloatparsenumber{\tick}%
% \pgfmathfloatexp{\pgfmathresult}%
% \pgfmathprintnumber{\pgfmathresult}%
% },
% minor xtick={3e-3,4e-3,6e-3,7e-3,8e-3,9e-3,1.1e-2,1.2e-2,1.3e-2,1.4e-2,1.5e-2,1.6e-2,1.7e-2,1.8e-2,1.9e-2,3e-2,4e-2},
% grid=major
% ]
% \end{loglogaxis}
\end{tikzpicture}
\end{document}
tikz
只是使用 Computer Modern 系列的字体来生成图表中的线条和点。在我看来,最好的解决方案就是不要担心这一点。不仅(正如 Ulrike 所说)物理学期刊不太可能不接受使用这数学字体的卓越之处。关键是:即使他们希望在所有文章和图像中选择一致的字体以获得统一的外观(这是一个好主意),您的图像也不会有问题,因为 Computer Modern 除了用于线条和点之外什么都不用。此外,字体嵌入在 pdf 中,因此他们不需要在机器上安装字体文件即可打印它(这在印刷生产中有时会成为一个问题)。
我会直接提交并等待他们的回复。如果被拒绝,您可以寻找一种方法让 tikz 使用其他东西来表示点和线,或者(更简单的方法)将您的图表(或其中的一部分)转换为纯路径,这样根本不会使用任何字体。
答案2
当我使用 XeLaTeX 编译它时,我得到了......
...据我所知,它除了《时代》之外已经不包含任何内容了。
答案3
有问题的期刊是《应用物理快报》,隶属于美国物理学会出版社。他们的排版过程围绕 XML 而不是 *TeX,在来回发邮件后,我们最终决定我以 .ps 格式提交图表。这当然不是最好的解决方案,但我只是以通常的方式渲染我的图表,输出 PDF,然后我使用 pdf2ps 进行转换。有趣的是,使用标准 *TeX 字体时输出看起来很完美,但使用时看起来很糟糕(似乎无法很好地缩放)
\setallmainfonts{Times New Roman}
\setallsansfonts{Arial}
\setallmonofonts{Courier New}
所以我干脆把它去掉了,用的是标准字体。期刊并不介意。现在我的图表实际上在论文中使用了标准 *TeX 字体,但由于实际文件中没有包含非标准字体,所以对于出版商来说,这没问题。(它不整洁,所以让我很烦,但就是这样……)
也许有人知道为什么第一个版本的效果这么差?