(제 질문의 동기는 마지막에 나와 있습니다!)
질문:
옵션에 대한 키를 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 정의를 사용하고 싶습니다! (물론 새로운 표준을 설정하고 다른 모든 그래픽 width
과 height
에 사용할 수 있지만 !
이는 분명히 받아들일 수 있는 해결책이 아닙니다.) 즉, 그렇습니다.~ 아니다표준을 변경하고 싶지만 이 정의를 내가 선택한 그래픽에서만 사용할 수 있기를 바랍니다. 예를 들어, 나는 다음과 같은 것을 할 수 있기를 원합니다
\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}