특정 그래픽에 setkeys 사용 - 또는: 명령이나 매크로에서 특정 그래픽에 대한 옵션을 정의하는 방법은 무엇입니까?

특정 그래픽에 setkeys 사용 - 또는: 명령이나 매크로에서 특정 그래픽에 대한 옵션을 정의하는 방법은 무엇입니까?

(제 질문의 동기는 마지막에 나와 있습니다!)

질문: 옵션에 대한 키를 includegraphics별도의 명령, 즉 이를 사용하는 그래픽에서 직접 정의하지 않고 어떻게 정의할 수 있습니까? (예를 들어 동일한 옵션을 여러 번 사용할 수 있거나 그래픽 포함 자체가 아닌 중앙에서 간단히 정의할 수 있습니다.)

graphicx다음을 정의할 수 있는 참고기준새 옵션을 지정하여 재정의하지 않는 한 모든 그래픽에 사용되는 옵션입니다. 이 작업은 setkeys 명령으로 수행되었으며 다음과 같습니다.

\documentclass{scrartcl}
\usepackage{graphicx}

\setkeys{Gin}{width=4cm,height=4cm}

\begin{document}   
  \hspace*{-3cm}
  \includegraphics{example-image-a}
  \includegraphics[width=2cm]{example-image-b}
  \includegraphics[width=2cm,height=!]{example-image-c}
  \includegraphics[width=!,height=!]{example-image}
\end{document}

여기에 이미지 설명을 입력하세요

따라서 처음 보는 그래픽은 다음을 사용합니다.새로운표준은 4cm/4cm인 반면 다른 것들은 개별 값(w/h)으로 이를 무시합니다.

  • A: 4cm/4cm, 새로운 표준
  • B: 2cm/4cm, 높이는 여전히 새로운 표준이기 때문입니다.
  • C: 2cm/*, 여기서 *는 너비에 대한 오른쪽 높이입니다.
  • image: */*, 즉 그래픽의 원래 측정값

그러나 나는 특정 그래픽에 대해서만 setkeys 정의를 사용하고 싶습니다! (물론 새로운 표준을 설정하고 다른 모든 그래픽 widthheight에 사용할 수 있지만 !이는 분명히 받아들일 수 있는 해결책이 아닙니다.) 즉, 그렇습니다.~ 아니다표준을 변경하고 싶지만 이 정의를 내가 선택한 그래픽에서만 사용할 수 있기를 바랍니다. 예를 들어, 나는 다음과 같은 것을 할 수 있기를 원합니다

\setkeys{MyKeys}{width=4cm,height=4cm}
..
\includegraphics[MyKeys]{example-image-X}

어떻게든 그게 가능할까요?

동기 부여:

나는 대부분의 경우 그것을 사용하는 사람들이 더 이상 그것을 만질 필요가 없도록 충분히 유연해야 하는 비머 슬라이드용 패키지(즉, sty 파일)를 정의하고 싶습니다. 대신, 필요한 모든 편집/개별화는 별도의 구성 파일에서 수행되어야 합니다. (예를 들어 제목 슬라이드의 제목과 작성자를 정의할 수 있습니다.)

여기서 구성해야 할 것 중 하나는 제목 슬라이드에 나타나는 그래픽의 크기입니다. 따라서,원칙적으로, sty 파일에는 다음과 같은 내용이 포함되어야 합니다 \includegraphics[\OptionsSpecifiedInConfigFile]{\LogoSpecifiedInConfigFile}. 그러나 이러한 옵션(예: width=2cm,height=3cm)은 단순히 명령(예: \OptionsSpecifiedInConfigFile)에 저장할 수 없으므로 다른 솔루션이 필요합니다.

내 패키지에 옵션을 전달하는 것도 옵션일 수 있다는 것을 알고 있지만(이미 그렇게 하고 있습니다!), 특히 이러한 옵션에 대해 이렇게 하는 것은 말이 되지 않는다고 생각합니다.

관련 stackoverflow 게시물:

(내 문제를 해결하는 데 도움이 되지는 않았지만 여전히 관련성이 높은 것 같아서 다른 사람들이 유용하다고 생각할 경우를 대비해 게시했습니다.)

도와주셔서 감사합니다!

답변1

어떤 경우에는 다른 기본값을 원할 경우 해당 명령에 대한 새 명령을 정의할 수 있습니다.

\newcommand*{\myincludegraphics}[2][]{\includegraphics[width=4cm,height=4cm, #1]{#2}}

특수 매크로에 옵션을 저장하려면 매크로를 전달하기 전에 매크로를 확장해야 합니다.\includegraphics

\newcommand*{\OptionsSpecifiedInConfigFile}{width=4cm,height=4cm}
\expandafter\includegraphics\expandafter[\OptionsSpecifiedInConfigFile]{example-image-a}

관련 정보