![制作 LaTeX 文本 R 徽标。如何保持比例?](https://linux22.com/image/256241/%E5%88%B6%E4%BD%9C%20LaTeX%20%E6%96%87%E6%9C%AC%20R%20%E5%BE%BD%E6%A0%87%E3%80%82%E5%A6%82%E4%BD%95%E4%BF%9D%E6%8C%81%E6%AF%94%E4%BE%8B%EF%BC%9F.png)
我尝试模仿 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}