报告中的图像重复

报告中的图像重复

在创建报告时我想创建一个“框架”来放置照片,一切正常,但我必须执行两次(sc1 和 sc2 处理相同),但 latex“读取”它为相同的,即使它给出了两个不同的图像,我该如何解决这个问题,将 sc1 和 sc2 视为两个不同的图像

我的代码:

Note: here should be just sc1\\
\newcommand\cropped[1]{%
    \immediate\write18{convert -trim #1.png #1cropped.png}%
    \includegraphics[width=\linewidth]{listings/sc1.png}}
\fbox{\cropped{image}}

Note: here should be just sc2\\
\newcommand\cropped[1]{%
    \immediate\write18{convert -trim #1.png #1cropped.png}%
    \includegraphics[width=\linewidth]{listings/sc2.png}}
\fbox{\cropped{image}}

正如您所看到的,我想这样做来显示 sc1 和 sc2,但是图片重复了,它显示了两次 sc1。

提前致谢!!!

答案1

欢迎来到 TeX.SX!这里的问题是您定义了两次相同的宏。如果您想重新定义之前已经定义过的宏,则需要使用\renewcommand而不是\newcommand进行重新定义。否则将再次使用第一个定义并引发错误。

但是,定义宏通常是为了简化操作,特别是当您想反复执行相同的操作时。因此,定义一次宏(最好在前言中)然后只使用两次可能更合理。

因此,您可以例如使用以下设置(虽然我不完全清楚为什么要裁剪 PNG 文件,然后在 TeX 文件中使用另一张图像):

\documentclass{article}

\usepackage{graphicx}

\newcommand\cropped[2]{%
    \immediate\write18{convert -trim #1.png #1cropped.png}%
    \includegraphics[width=\linewidth]{#2}}

\begin{document}

Note: here should be just sc1\\
\fbox{\cropped{image}{listings/sc1.png}}

Note: here should be just sc2\\
\fbox{\cropped{image}{listings/sc2.png}}
    
\end{document}

相关内容