\def 在 trim 中不起作用

\def 在 trim 中不起作用

我尝试使用变量\def\cc{5cm}进行修剪,但无法通过编译。我做错了什么?

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{float}
\usepackage{subfig}
\usepackage{graphicx}

\usepackage{tikz}
\begin{document}

\def\cc{5cm}
\begin{figure}
     \centering
     \subfloat[]{
     \begin{tikzpicture}
        \node[anchor=south west,inner sep=0] (image) at (0,0) {\includegraphics[width=0.3\textwidth,trim={0 \cc 0 0},clip]{example-image-a}};
    \end{tikzpicture}}   
     \label{steady_state}
\end{figure}

\end{document}

答案1

该示例可以最小化为

\documentclass{article}
\usepackage{graphicx}

\begin{document}

\def\cc{5cm}

\includegraphics[width=0.3\textwidth,trim={0 \cc 0 0},clip]{example-image-a}

\end{document}

问题是,根据 TeX 解析规则,后的空格\cc

解决方案:

\documentclass{article}
\usepackage{graphicx}

\begin{document}

\newcommand{\cc}{5cm}

\includegraphics[width=0.3\textwidth,trim={0 {\cc} 0 0},clip]{example-image-a}

\end{document}

不要随意使用\def: 否则可能会重新定义重要的命令。试试看\def\box{5cm},你就会明白我的意思。

相关内容