默认将框架选项传递给 \includegraphics?

默认将框架选项传递给 \includegraphics?

我是一名文字编辑,我的工作是为科学期刊编排论文。我的一项任务是(在某些情况下)裁剪图像以删除图像和边界框之间的多余空间。

通常我用它来\fbox目视检查图像和边界框之间的空间量,但要做到这一点,我需要用 包装每个\includegraphics命令\fbox{...}

我的问题是,有没有办法默认装箱所有图像?也许\usepackage[export]{adjustbox}在序言中使用并默认将frame选项传递给命令。\includegraphics

答案1

您可以重新定义\includegraphics使用frame-option ,如下所示:

\documentclass[]{article}

\usepackage[export]{adjustbox}

\let\includegraphicsbak\includegraphics
\renewcommand*{\includegraphics}[2][]{\includegraphicsbak[frame,#1]{#2}}

\begin{document}
\includegraphics[height=4cm]{example-image}
\end{document}

另一种可能性是重新定义它,以便始终\fbox使用

\renewcommand*{\includegraphics}[2][]{\fbox{\includegraphicsbak[#1]{#2}}}

在后一种情况下,您总是会因为 -length 而得到较小的间隙\fboxsep(您可以将其减少到0pt,但这样可能会破坏您编辑的文档中的内容)。

编辑:你可能需要\LetLtxMacro命令,看看这里以获得 的解释\LetLtxMacro

答案2

与 的解决方案略有不同的版本skillmon,通过定义一个framed文档/包选项,并重新定义includegraphics,使用该选项。

extgraphicx加载graphicx并将其他选项传递给该包。

这样\documentclass[frame]{article}就足够了。

\begin{filecontents}{extgraphicx.sty}
\ProvidesPackage{extgraphicx}

\newif\ifframeused
\RequirePackage{xkeyval}
% Define some option
\define@boolkey{extgraphicx.sty}[Gin@]{frame}[true]{%
  \typeout{Used}
}

%Pass the other unknown thingies to graphicx
\DeclareOptionX*{\PassOptionsToPackage{\CurrentOption}{graphicx}}

\ProcessOptionsX*

\RequirePackage{graphicx}




\RequirePackage{xparse}


\let\graphicx@@includegraphics\includegraphics

\RenewDocumentCommand{\includegraphics}{O{}m}{%
  \begingroup
  \ifGin@frame
  \fbox{%
    \graphicx@@includegraphics[#1]{#2}%
  }%
  \else
  \graphicx@@includegraphics[#1]{#2}%    
  \fi
  \endgroup
}

\end{filecontents}



\documentclass[frame=false]{article}



\usepackage{extgraphicx}



\begin{document}
\includegraphics{ente}

\end{document}

答案3

如果您使用\adjincludegraphics而不是正常情况,\includegraphics那么您可以使用\adjustboxset为所有图像(也包括所有其他图像)设置默认键\adjustbox

\documentclass{article}

\usepackage{adjustbox}

\adjustboxset*{frame=5pt} % * to add frame behind local keys, not before

\begin{document}
\adjincludegraphics[height=4cm]{example-image}
\end{document}

相关内容