재정의된 명령에 선택적 인수 전달

재정의된 명령에 선택적 인수 전달

실제 이미지를 모두 모으는 것이 글쓰기 부분보다 훨씬 더 많은 시간이 소요되는 것을 디자인하고 있으므로 \includegraphics지정된 파일이 존재하지 않는 한 래퍼 명령을 사용하여 이미지를 테스트 사각형으로 대체하여 확인할 수 있습니다. 내가 갈 때 다른 형식을 지정하십시오.

\newcommand{\includegraphicsmaybe}[1]{\IfFileExists{../Images/#1}{\includegraphics[width=\linewidth,valign=t]{#1}}{\includegraphics[width=\linewidth,valign=t]{test.jpg}}}

\includegraphics그러나 이 명령을 회전하거나(모든 명령과 반대로) 어떤 경우이든 실제 명령에 추가 형식 인수를 전달하는 방법을 모르겠습니다 . 어떻게 해야 하나요?

답변1

흥미롭게도 키워드가 처리되는 순서가 중요한 것 같고 그 width=\linewidth이전은 rotate좋은 생각이 아닙니다. OTOH, 두 번 입력하면 width두 번째가 승리합니다.

\documentclass{scrartcl}
\usepackage[export]{adjustbox}
\usepackage{graphics}
\usepackage{duckuments}

\newcommand{\includegraphicsmaybe}[2][]{% #1 = optional keys, #2 = filename
  \IfFileExists{#2}%
    {\includegraphics[width=\linewidth,#1,valign=t]{#2}}%
    {\includegraphics[width=\linewidth,#1,valign=t]{example-image-duck}}}

\setlength{\parindent}{0pt}

\begin{document}
\includegraphicsmaybe[width=0.5\linewidth]{example-image}\hfill
\includegraphicsmaybe[rotate=90, width=0.5\linewidth]{example-image}

\includegraphicsmaybe{test.jpg}
\end{document}

관련 정보