
나는 현재 Perl이 여러 용어집을 만드는 옵션이 아니기 때문에(그래서 makeglossaries가 없음) 내 자신의 빌드 스크립트를 작성하려고 합니다. 모든 것을 단일 배치 파일로 압축하려고 하면 makeindex가 호출되지 않는 것 같습니다(GLS 파일이 생성되지 않음).
tex.bat가 작동하지 않습니다:
@echo off
set document=%~n1
set miktexpath=C:/bin/programme/miktex/miktex/bin
start /wait %miktexpath%/pdflatex %document%.tex ^
&& ^
%miktexpath%/makeindex -s %document%.ist -t %document%.glg -o %document%.gls %document%.glo ^
&& ^
%miktexpath%/makeindex -s %document%.ist -t %document%.idx.glg -o %document%.idx.gls %document%.idx.glo ^
&& ^
%miktexpath%/pdflatex %document%.tex ^
&& ^
%miktexpath%/pdflatex %document%.tex ^
&& ^
%miktexpath%/SumatraPDF -reuse-instance %document%.pdf
모든 makeindex-call을 여러 배치 파일에 넣으면 작동합니다. 그러나 이것은 지금보다 더 추악합니다.
tex.bat 작동 중:
@echo off
set document=%~n1
set miktexpath=C:/bin/programme/miktex/miktex/bin
start /wait %miktexpath%/pdflatex %document%.tex ^
&& ^
call ./gls.bat %document% ^
&& ^
call ./gls_idx.bat %document% ^
&& ^
%miktexpath%/pdflatex %document%.tex ^
&& ^
%miktexpath%/pdflatex %document%.tex ^
&& ^
%miktexpath%/SumatraPDF -reuse-instance %document%.pdf
gls.bat:
@echo off
set document=%~n1
set miktexpath=C:/bin/programme/miktex/miktex/bin
%miktexpath%/makeindex -s %document%.ist -t %document%.glg -o %document%.gls %document%.glo
gls_idx.bat:
@echo off
set document=%~n1
set miktexpath=C:/bin/programme/miktex/miktex/bin
%miktexpath%/makeindex -s %document%.ist -t %document%.idx.glg -o %document%.idx.gls %document%.idx.glo
왜 그런 것이며 단일 빌드 스크립트를 어떻게 작성합니까?
또 다른 점은 / 등이 makeindex
아닌 파일 확장자를 사용할 때 파일 빌드를 거부한다는 것입니다 ..gls
.glo
답변1
조셉 라이트가 나에게 보여줬어요여기 그의 방법이 있다, 정상적으로 작동합니다.
@echo off
set document=%~n1
set miktexpath=C:/bin/programme/miktex/miktex/bin
%miktexpath%/pdflatex -draftmode -interaction=batchmode %document%.tex
if errorlevel 1 (
echo ! Compilation failed
) else (
%miktexpath%/makeindex -s %document%.ist -t %document%.glg -o %document%.gls %document%.glo
%miktexpath%/makeindex -s %document%.ist -t %document%.idx.glg -o %document%.idx.gls %document%.idx.glo
%miktexpath%/pdflatex -draftmode -interaction=batchmode %document%.tex
%miktexpath%/pdflatex -draftmode -interaction=batchmode %document%.tex
%miktexpath%/SumatraPDF -reuse-instance %document%.pdf
)