\newcommand{\initialize}[2][tmargin=1in, bmargin=1in, right=0.75in, left=0.75in]{
\geometry{#1}
\ifthenelse{\equal{#2}{}}{\setboolean{indent}{false}}{\setboolean{indent}{true}}
\ifthenelse{\boolean{indent}}{}{\setlength\parindent{0pt}}
% \setlength\parindent{12pt}
}%
이것은 일종의 서문처럼 사용하는 패키지의 명령입니다.
여기서 내가 관심을 두는 것은 기하학 명령에 대한 기본값이며, 명령을 사용할 때 기본값이 사용되지 않습니다.
\initialize[]{}
내 기본값을 작동시키는 방법에 대한 도움이 도움이 될 것입니다.
답변1
작동하는(또는 손상된) 코드 없이는 무엇을 하고 있는지 추측하기 어렵지만 다음과 같습니다.
\initialize[]{}
하나가 아닌 두 개의 인수를 전달합니다. 두 인수가 모두 비어 있습니다. 둘 다 지정되었으므로 기본값은 사용되지 않습니다.\initialize{}
기본값을 호출하는 데 사용됩니다 .
답변2
나는 당신이 올바른 방법을 사용하고 있다고 생각하지 않습니다.
필수 인수는 \initialize
비어 있는지 여부와 사용되지 않는지 구별하는 것 같습니다.
초기화가 수행되어야 한다고 가정
\geometry{tmargin=1in, bmargin=1in, right=0.75in, left=0.75in}
\setlength{\parindent}{0pt}
당신은 더 나은 서비스를 받아야합니다
\NewDocumentCommand{\initialize}{sO{}}{%
\IfBooleanTF{#1}{\setlength{\parindent}{12pt}}{\setlength{\parindent]{0pt}}%
\geometry{tmargin=1in, bmargin=1in, right=0.75in, left=0.75in,#2}%
}
따라서 다음과 같은 호출은 \initialize
의도한 기본값을 0으로 설정하는 \parindent
반면 \initialize*
기본 기하학 및 \parindent
12pt를 설정합니다. 와 함께
\initialize[tmargin=2in]
tmargin
다른 값은 유지하면서 기본값 을 재정의합니다 . 마찬가지로
\initialize*[tmargin=2in]
\parindent
12pt로 설정하는 것을 제외하고는 동일합니다 .