Centralizar un `\includegraphics` dentro de un `\def`

Centralizar un `\includegraphics` dentro de un `\def`

Esta pregunta surge de una respuesta que estaba dando.aquí, en el que utilicé \includegraphics{...}dentro de una \defdefinición, para incluir gráficos en un contexto en línea.

Pregunta:¿Cómo hago para centralizar el gráfico incluido, cuando lo uso en línea, sin recurrir a métodos manuales como \hspace{}? Lo intenté con \centering, pero eso no tiene ningún efecto. Lo agregué fboxen el siguiente ejemplo para hacerlo más evidente.

¿Gráfico en línea con (fuera) centrado?

\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}

PD. Lo estaba usando \keystroke{...}desde el keystrokepaquete, pero el problema es más general y se puede describirsinel keystrokepaquete. Sin embargo, aborde esto en su respuesta si es diferente del caso sin usar keystroke, ya que me gustaría mejorar mi respuesta allí.

Respuesta1

Como han señalado otros, existen varios problemas. Estaban apareciendo espacios sueltos, porque las líneas dentro de una definición de macro no terminaban en un archivo %. Además, \centeringno tiene relevancia fuera del mecanismo de configuración de párrafos de TeX, que no se aplica dentro de un archivo \fbox. Finalmente, \fboxsepes una extensión, no una definición, por lo que debe establecerse como tal. En TeX, eso sería \fboxsep=0pt\relax, mientras que en LaTeX, preferiblemente se puede usar \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}

ingrese la descripción de la imagen aquí

información relacionada