![하위 파일의 매개변수화된 포함](https://rvso.com/image/286983/%ED%95%98%EC%9C%84%20%ED%8C%8C%EC%9D%BC%EC%9D%98%20%EB%A7%A4%EA%B0%9C%EB%B3%80%EC%88%98%ED%99%94%EB%90%9C%20%ED%8F%AC%ED%95%A8.png)
주로 쉬운 사용자 정의를 목적으로 LaTeX를 사용하여 이력서를 준비하고 있습니다. 특히 몇 가지 매개변수를 변경하여 동일한 입력 파일에서 다른 출력을 생성할 수 있기를 원합니다.
그러한 요구 사항 중 하나는 입력 매개변수("dev"/"training"/"generic") 중 하나에 따라 특정 텍스트 덩어리를 선택해야 한다는 것입니다. 별도의 .tex 파일("dev_summary.tex", "training_summary.tex" 등)에서 각 매개변수에 적합한 텍스트 덩어리를 \input
매개변수에 따라 가질 수 있습니다. 나는 현재 이것을 다음과 같이 구현했습니다.
\newcommand{\whoami}[1]{trainer#1}
그리고 나중에
\input{\whoami{_summary.tex}}
이제 첫 번째 매개변수를 변경할 때마다 새 명령줄에서 "trainer" 문자열을 변경하기만 하면 됩니다. 그러나 이 파일을 편집하지 않은 상태로 유지하고 대신 이 변경 사항을 명령줄 인수로 전달할 수 있는 더 좋은 방법이 있습니까?
답변1
명령줄에서 이러한 항목을 설정하는 방법에는 여러 가지가 있습니다. 아마도 가장 간단한 것은 입력 내용을 약간 변경하여 대신 dev_summary.tex
하위 디렉터리/폴더 등 을 갖게 하는 것입니다 dev
.trainer
dev/summary.tex
그런 다음 기본 파일에는 다음이 필요합니다.
\input{summary}
summary.tex
입력 경로의 첫 번째 항목을 입력하므로 명령줄은 다음과 같습니다.
TEXINPUTS=dev: pdflatex mainfile
입력 dev/summary.tex
하고
TEXINPUTS=trainer: pdflatex mainfile
입력할 것이다trainer/summary.tex
(이것은 유닉스와 유사한 명령줄을 가정하고 Windows에서는 환경 변수 설정을 별도의 명령으로 수행해야 할 수도 있습니다. 확실하지 않습니다)