(我的提問動機在最後給出!)
問題:
如何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}