這個問題是由我給的答案所引發的這裡,我在\includegraphics{...}
定義中使用了它\def
,以便在內聯上下文中包含圖形。
問題:使用內聯時,如何集中包含的圖形,而不訴諸手動方式,例如\hspace{}
?我嘗試過\centering
,但沒有效果。我fbox
在下面的範例中添加了內容以使其更加明顯。
\documentclass{article}
\usepackage{graphicx,keystroke,scalerel}
\renewcommand{\fboxsep}{0pt}
\def\abcd{%
{\centering \fbox{\scalerel*{\includegraphics{example-image-a}}{X}}}
}
\begin{document}
This is an in-line graphic \fbox{\keystroke{\abcd}}.
This is an in-line graphic \fbox{\abcd} with some space on either side.
\end{document}
附:我是\keystroke{...}
從包中使用它的keystroke
,但問題更普遍,並且可以描述沒有包裹keystroke
。但是,如果與不使用 的情況有任何不同,請在您的答案中解決這個問題keystroke
,因為我想改進我的答案。
答案1
正如其他人指出的那樣,存在幾個問題。雜訊空間正在蔓延,因為巨集定義內的行沒有以%
.此外,\centering
在 TeX 的段落設定機制之外沒有任何相關性,該機制不適用於\fbox
.最後,\fboxsep
是一個長度,而不是一個定義,因此應該這樣設定。在 TeX 中,這將是\fboxsep=0pt\relax
,而在 LaTeX 中,最好使用\setlength{\fboxsep}{0pt}
.
\documentclass{article}
\usepackage{graphicx,keystroke,scalerel}
\setlength{\fboxsep}{0pt}
\newcommand\abcd{\fbox{\scalerel*{\includegraphics{example-image-a}}{X}}}
\begin{document}
This is an in-line graphic \fbox{\keystroke{\abcd}}.
This is an in-line graphic \fbox{\abcd} with some space on either side.
\end{document}