使用环境创建命令

使用环境创建命令

所以我反复使用这种格式来嵌入图片和一些文字,

\begin{tabular}{l l}
\begin{minipage}{0.3\textwidth}
\includegraphics[SCALE]{NAME}
\end{minipage}
&
\begin{minipage}{0.7\textwidth}
TEXT
\end{minipage}
\end{tabular}

我想创建一个新命令,该命令将接受比例、图片名称和我想要在其旁边显示的文本的参数。我该如何创建此命令?我可以使用\newcommand还是必须使用\newenvironment

例如\wrappic{0.6}{flower.jpg}{this is a rose!}

答案1

当然可以!

\newcommand{\wrappic}[3][1]{%
  \par\noindent\mbox{%
  \begin{minipage}{0.3\textwidth}
  \includegraphics[scale=#1]{#2}
  \end{minipage}%
  \begin{minipage}{0.7\textwidth}
  #3
  \end{minipage}}
  \par}

请注意,该tabular环境没有任何用处,并且它还会创建一个过满的框,因为您没有考虑列间距,所以总和会大于文本宽度。

现在\wrappic[0.6]{flower.jpg}{this is a rose!}将执行您想要的操作。如果您输入,\wrappic{flower.jpg}{this is a rose!}则不应用缩放。

一般来说,scale=不建议使用,因为它取决于图片的大小,你需要手动调整。我建议使用不同的方法:

\newcommand{\wrappicauto}[3][\dimexpr\textwidth-1em\relax]{%
  \par\noindent\mbox{%
  \begin{minipage}{0.3\textwidth}
  \includegraphics[width=#1]{#2}
  \end{minipage}%
  \begin{minipage}{0.7\textwidth}
  #3
  \end{minipage}}
  \par}

以便

\wrappicauto{flower.jpg}{this is a rose!}

将自动缩放图片以占据文本宽度的 3/10 减去一个小的分隔空间。

如果你需要不同的宽度,那么你可以说

\wrappicauto[3cm]{flower.jpg}{this is a rose!}

相关内容