스타일 파일을 조정하려고 하는데 다음과 같은 'def'가 있습니다.
\def\logo#1{\gdef\@logo{#1}} \gdef\@logo{}
사용자 정의 '제목 만들기' 내부:
\includegraphics[scale=0.1]{\@logo}
저는 Tex/Macros를 처음 사용하는데, 'logo' def 매크로에 scale 매개변수를 어떻게 추가할 수 있는지 궁금합니다. 즉, 에 대한 호출을 완전히 매개변수화하고 싶습니다 \includegraphics
.
편집: 아래에 따라 간단한 스타일로 'maketitle'에 로고를 추가했습니다. 더 좋은 방법이 있는지 확실하지 않습니까?
\newcommand{\logo}[2][]{%
\gdef\make@logo{\includegraphics[#1]{#2}}%
}
\let\make@logo\relax
%% title
\def\@maketitle
{
\clearpage
\vskip -3em
\ifx\make@logo\relax
\else
\make@logo
\fi
\newpage
\thispagestyle{empty}
\vspace*{-24pt}
\begin{center}
{\Large \bf \@title \par}\vspace*{24pt}{
\lineskip 1em
\begin{tabular}[t]{c}
\@author \\
\vspace*{1pt}\
\end{tabular}
}
\vskip 1em
\vspace*{12pt}
\end{center}
}
답변1
\logo
다음에 대한 옵션을 사용하는 선택적 매개변수를 사용하여 매크로를 정의할 수 있습니다 \includegraphics
.
\newcommand*{\logo}[2][]{%
\gdef\@logo@params{#1}%
\gdef\@logo{#2}%
}
\newcommand*{\@logo@params}{}
\newcommand*{\@logo}{}
용도 \includegraphics
:
\expandafter\includegraphics\expandafter[\@logo@params]{\@logo}
키 값 목록의 구문 문자 쉼표와 등호가 매크로 내부에 숨겨져서는 안 되기 때문에 옵션을 먼저 확장해야 합니다.
예 \logo
:
\logo[scale=0.1]{example-image-a}
또는
\logo[width=2cm, angle=90]{example-image-a}
답변2
넌 할 수있어
\newcommand{\logo}[2][]{%
\gdef\make@logo{\includegraphics[#1]{#2}}%
}
\let\make@logo\relax
\make@logo
맞춤 제목을 만드는 시점에 사용하세요 .
\ifx\make@logo\relax
% code for no logo, maybe nothing
\else
% code before the logo, maybe \begin{center}
\make@logo
% code after the logo, maybe \end{center}
\fi
따라서 스타일 파일을 사용하는 문서 서문에
\logo[scale=0.1]{file}
제목을 조판할 때 다음과 같은 결과가 나타납니다.
\includegraphics[scale=0.1]{file}
명령 이 없으면 \logo
아무것도 얻을 수 없습니다.
이 \logo
명령은 선택적 인수에서 에 유효한 모든 옵션을 허용합니다 \includegraphics
. 예를 들어
\logo[width=3cm]{file}
\logo[width=3cm,height=4cm,keepaspectratio]{file}
등등.
답변3
scale
당신이 추구하는 것이 전부이고 와 같은 인터페이스에 익숙 하다면 선택적 매개변수를 사용하는 \logo[0.7]{my-pic.png}
간단한 인터페이스 가 작동합니다.\newcommand
\newcommand{\logo}[2][1]{\includegraphics[scale=#1]{#2}}
선택적 인수를 사용하지 않는 경우 기본값은 입니다 1
.