答案1
请参阅最后的编辑答案,其中包含更清洁和适应性的解决方案
快速,肮脏且非常明确,但它有效:
\documentclass{article}
\usepackage{fourier}
\usepackage{graphicx}
\begin{document}
\raisebox{0.325ex}{\resizebox{!}{1.2ex}{\danger}} dasdfcsdasda
\end{document}
当然,它需要根据您使用的字体进行调整......
解释:
1.初始状态:\danger dasdfcsdasda
2.首先,我们需要减小警告标志的尺寸。
它是通过宏\resizebox{width}{height}{what is to be resized}
(graphicx
包的)实现的,其中参数!
用于保持比例相同。作为初步近似,我们取:
\resizebox{!}{1ex}{\danger} dasdfcsdasda
3.然而,我们观察到resizebox
调整大小后的符号与原始符号底部对齐。
因此,我们需要使用 来“提高” \raisebox{length}{content to be raised}
。作为第一近似值,我们使用:
\raisebox{0.3ex}{\resizebox{!}{1ex}{\danger}} dasdfcsdasda
4.最后,我们调整了长度,以便得到更正确的结果
编辑
这是一个自适应解决方案,可根据当前上下文(字体系列和大小)评估长度。
\documentclass{article}
\usepackage{graphicx}% to access \settoheight and \settodepth macros
\usepackage{fourier}% to access \danger icon
\usepackage{libertine}% set serif font
\usepackage{roboto}% set sans-serif font (different height)
\newlength{\myheight}
\newlength{\mydepth}
\newcommand{\myDanger}{%
\settoheight{\myheight}{l}% in order to get the maximal height of letters in the font used
\settodepth{\mydepth}{\danger}% in order to retrieve the actual baseline
\resizebox{!}{\myheight}{\raisebox{\mydepth}{\danger}}% seems counterintuitive to me (I'd have resized, then raised... but well, it works, so... !)
}
\begin{document}
\myDanger dasdfcsdasda
{\sffamily \myDanger dasdfcsdasda}
{\Huge \sffamily \myDanger dasdfcsdasda}
{\Huge \myDanger dasdfcsdasda}
{\Huge\myDanger{\sffamily\myDanger}}
\end{document}