制作 LaTeX 文本 R 徽标。如何保持比例?

制作 LaTeX 文本 R 徽标。如何保持比例?

我尝试模仿 jpg 格式的 R 徽标来自 R 网站仅使用 LaTeX 才能使其可扩展且无需外部文件的上下文。

这是微小、正常和巨大尺寸的结果,与比例为 25%、50% 和 100% 的 jpg 相比:

平均能量损失

显然,即使在正常尺寸下,LaTeX 标识在很多方面也远非完美,但最糟糕的是字符 R 和背景圆圈 ( \bircirc) 之间的比例不是恒定的,尽管所有内容都是以 em 单位定义的。为什么?

有没有更好的方法来构建一个漂亮的内联 R 徽标?当然,它不应该是 jpg 文件,也不应该是转换为 pdf 的可缩放矢量图形 (SVG),也不应该是 R 字符的简单格式,例如\newcommand{\R}{\textbf{\textup{R}}}

这是 MWE 代码:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xspace}
\usepackage{xcolor}
\usepackage{graphicx}
\definecolor{Rcolor}{RGB}{150,160,190}

\newcommand{\R}{%
\raisebox{.3em}{\hspace{1.2em}%
\llap{\resizebox{1.09em}{.5em}{\color{black}$\bigcirc$}}%
\llap{\resizebox{1.199em}{.55em}{\color{darkgray}$\bigcirc$}}%
\llap{\resizebox{1.19em}{.52em}{\color{gray!50}$\bigcirc$}}%
\llap{\resizebox{1.1em}{.5em}{\color{gray}$\bigcirc$}}%
\llap{\resizebox{1.25em}{.55em}{\color{gray}$\bigcirc$}}%
}%
\hspace{-.85em}%
\textbf{%
%\resizebox{.55em}{1.5ex}{\textcolor{black!80}{\textsf{R}}}%
\textcolor{black}{\textsf{R}}%
\hspace{-.025em}\raisebox{.01em}{\llap{\textcolor{Rcolor}{\textsf{R}}}}%
}%
\xspace}

\begin{document}

Bitmap logo: 
\includegraphics[scale=.25]{Rlogo.jpg}
\includegraphics[scale=.5]{Rlogo.jpg}
\includegraphics[scale=1]{Rlogo.jpg}

\LaTeX\ logo:~~ 
\tiny{\R}  \normalsize{ \R}  \Huge{\R}


\end{document}

答案1

文本和数学字体不是线性缩放的,LaTeX 会选择(或可以选择)最接近设计尺寸的字体,因此数学圆圈和文本 R 的相对大小无法保证。最简单的方法是将正常尺寸的徽标保存在一个框中,然后将该框缩放到当前字体大小,以便它们一起缩放,因此一旦您为一种尺寸设置正确,它在所有尺寸下看起来都会相同。

在此处输入图片描述

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{xspace}
\usepackage{xcolor}
\usepackage{graphicx}
\definecolor{Rcolor}{RGB}{150,160,190}

\newcommand{\Rx}{\fontsize{10pt}{12pt}\selectfont
\raisebox{.3em}{\hspace{1.2em}%
\llap{\resizebox{1.09em}{.5em}{\color{black}$\bigcirc$}}%
\llap{\resizebox{1.199em}{.55em}{\color{darkgray}$\bigcirc$}}%
\llap{\resizebox{1.19em}{.52em}{\color{gray!50}$\bigcirc$}}%
\llap{\resizebox{1.1em}{.5em}{\color{gray}$\bigcirc$}}%
\llap{\resizebox{1.25em}{.55em}{\color{gray}$\bigcirc$}}%
}%
\hspace{-.85em}%
\textbf{%
%\resizebox{.55em}{1.5ex}{\textcolor{black!80}{\textsf{R}}}%
\textcolor{black}{\textsf{R}}%
\hspace{-.025em}\raisebox{.01em}{\llap{\textcolor{Rcolor}{\textsf{R}}}}%
}}%

\newbox\rbox
\savebox\rbox{\scalebox{0.1}{\Rx}}

\makeatletter
\def\R{\scalebox{\f@size}{\usebox\rbox}\xspace}
\makeatletter

\begin{document}

Bitmap logo: 
%\includegraphics[scale=.25]{Rlogo.jpg}\includegraphics[scale=.5]{Rlogo.jpg}\includegraphics[scale=1]{Rlogo.jpg}

\LaTeX\ logo:~~ 
\tiny{\R}  \normalsize{ \R}  \Huge{\R}


\end{document}

相关内容