如何设置与文本高度匹配的内联图形?

如何设置与文本高度匹配的内联图形?

我想在文本内放置一个非常小的图形。该图形的高度必须与它所在的行的高度相同。我有这个:

Some text... \includegraphics[height=\baselineskip]{picture.png} ... some more text. 

但是,这会使图形稍微太大,填满整个空间直到上面一行的底部。我希望图形的高度只与我的字体的大写字母一样高。正确的做法是什么?

答案1

告诉 TeX 该数字应该高达“B”:

Some text... 
\includegraphics[height=\fontcharht\font`\B]{picture.png} 
... some more text. 

您可能需要为此定义一个特殊命令:

\newcommand{\mychar}{%
  \begingroup\normalfont
  \includegraphics[height=\fontcharht\font`\B]{picture.png}%
  \endgroup
}

并输入您的段落为

some text \mychar{} some text

如果你打算在标题或说明中也使用它,最好这样说

\DeclareRobustCommand{\mychar}{%
  \begingroup\normalfont
  \includegraphics[height=\fontcharht\font`\B]{picture.png}%
  \endgroup
}

答案2

这就是它\scalerel*的作用...它将其第一个参数缩放到与第二个参数相同的垂直占用空间,在本例中为字母“B”。

\documentclass{article} 
\usepackage{scalerel}
\begin{document} 
This is an inline \scalerel*{\includegraphics{SelfPortrait}}{B} photo.
\end{document}

在此处输入图片描述

答案3

编辑:正如@egreg 指出的那样,下面的方法仅适用于正常字体大小。出于历史原因,我将保留它。

\documentclass{minimal}

\usepackage{graphicx}
\newlength{\myMheight}
% Create the reference text for measures
\settoheight{\myMheight}{M}

\begin{document}

foo\includegraphics[height=\myMheight]{foo.pdf}foo

\end{document}

在此处输入图片描述

相关内容