想要使用 Helvetica 而不是默认文本字体显示百分比符号

想要使用 Helvetica 而不是默认文本字体显示百分比符号

以下代码会产生一个奇怪的百分比符号,如下所示: 奇怪的百分比符号
这是我的代码:

\documentclass[12pt, a4paper, twoside, %openright, 
toc=listof, BCOR=5mm, bibliography=totoc, parskip=half]{scrreprt}
\usepackage{helvet}
\usepackage[ngerman]{babel} 
\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\begin{document}
11-13\%
\end{document}

现在我使用了板块搜索并找到了这个解决方案:使用 mathspec 结合 Helvetica 和 Symbol 字体 但由于我对所有这些 LaTeX 包都不太熟悉,而且我没有使用它们,所以我不想直接将它们添加到我的代码中,而是想知道我需要添加哪些行才能使我的代码正常工作,而不会更改我可能不想要的任何其他内容。提前致谢

答案1

如果您确实想要与原始字体相匹配的 %,但没有“小蝴蝶结”(正如我对 Mico 的评论的解释),那么一个选项是定义一个新的\%,覆盖有问题的“蝴蝶结”。在这里,我已使其适用于不同的文本大小变化。

在 MWE 中,我进行了定义\overlayclr,以便您可以看到我正在绘制的内容(当我将其设置为红色时)。我\%在最右边显示了原始内容,因此您可以看到修改后的字形的大小与原始字形相匹配。

\documentclass[12pt, a4paper, twoside, %openright, 
toc=listof, BCOR=5mm, bibliography=totoc, parskip=half]{scrreprt}
\usepackage{helvet}
\usepackage[ngerman]{babel} 
%\usepackage[T1]{fontenc} 
\usepackage[utf8]{inputenc}
\usepackage{graphicx,xcolor,stackengine,scalerel}
\let\svpct\%
\def\overlayclr{white}
\renewcommand{\%}{\scalerel*{\stackon[0pt]{\stackon[0pt]{\normalsize\svpct}{\smash{%
  \textcolor{\overlayclr}{\rotatebox{56.8}{\rule[-4.55pt]{2.5pt}{1.5pt}}}}}}%
  {\smash{\textcolor{\overlayclr}{%
  \rotatebox{27}{\kern-.84pt\rule[-2.5pt]{1.5pt}{2.5pt}}}}}}{\svpct}}
\begin{document}
\Huge11-13\%\quad{\def\overlayclr{red}11-13\%\svpct}\par
\normalsize11-13\%\quad{\def\overlayclr{red}11-13\%\svpct}
\end{document}

在此处输入图片描述

答案2

您可以使用以下方式获取任意系列的百分号

\DeclareRobustCommand{\%}{{%
  \mbox{%
    \fontencoding{\encodingdefault}%
    \fontfamily{<family>}%
    \selectfont
    \symbol{`\%}%
  }%
}}

唯一的问题就是选择正确的<family>名称。对于 Helvetica 来说,名称应该是phv,但百分号在衬线字体环境中会显得格格不入。

小蝴蝶结是衬线字体的惯用标志;在免费字体中,我看到 Kpfonts 和 Bookman 没有小蝴蝶结,但该符号的样式与默认字体又不兼容。

这是一个可能的选择<family>

在此处输入图片描述

如果您打算\%在数学模式下使用,请更改\mbox\text(并加载amsmath)。

现在您已经能够体会到风格的差异,请坚持使用默认设置。

答案3

如果您想以 Helvetica 格式呈现默认百分号,而不改变文本字体的任何其他方面,您可以继续在序言中插入以下说明:

\usepackage{helvet}   % select Helvetica as the sans-serif font
\let\origpercent\%    % save the "original" "\%" macro
\renewcommand{\%}{\textsf{\origpercent}}

相关内容