make.bat 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. pushd %~dp0
  2. if not %errorlevel% == 0 goto :end1
  3. set ORG_LATEX_CMD=%LATEX_CMD%
  4. set ORG_MKIDX_CMD=%MKIDX_CMD%
  5. set ORG_BIBTEX_CMD=%BIBTEX_CMD%
  6. set ORG_LATEX_COUNT=%LATEX_COUNT%
  7. set ORG_MANUAL_FILE=%MANUAL_FILE%
  8. if "X"%LATEX_CMD% == "X" set LATEX_CMD=xelatex
  9. if "X"%MKIDX_CMD% == "X" set MKIDX_CMD=makeindex
  10. if "X"%BIBTEX_CMD% == "X" set BIBTEX_CMD=bibtex
  11. if "X"%LATEX_COUNT% == "X" set LATEX_COUNT=8
  12. if "X"%MANUAL_FILE% == "X" set MANUAL_FILE=refman
  13. del /s /f *.ps *.dvi *.aux *.toc *.idx *.ind *.ilg *.log *.out *.brf *.blg *.bbl %MANUAL_FILE%.pdf
  14. %LATEX_CMD% %MANUAL_FILE%.tex
  15. @if ERRORLEVEL 1 goto :error
  16. echo ----
  17. %MKIDX_CMD% %MANUAL_FILE%.idx
  18. setlocal enabledelayedexpansion
  19. set count=%LAT#EX_COUNT%
  20. :repeat
  21. set content=X
  22. for /F "tokens=*" %%T in ( 'findstr /C:"Rerun LaTeX" %MANUAL_FILE%.log' ) do set content="%%~T"
  23. if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get cross-references right" %MANUAL_FILE%.log' ) do set content="%%~T"
  24. if !content! == X for /F "tokens=*" %%T in ( 'findstr /C:"Rerun to get bibliographical references right" %MANUAL_FILE%.log' ) do set content="%%~T"
  25. if !content! == X goto :skip
  26. set /a count-=1
  27. if !count! EQU 0 goto :skip
  28. echo ----
  29. %LATEX_CMD% %MANUAL_FILE%.tex
  30. @if ERRORLEVEL 1 goto :error
  31. goto :repeat
  32. :skip
  33. endlocal
  34. %MKIDX_CMD% %MANUAL_FILE%.idx
  35. %LATEX_CMD% %MANUAL_FILE%.tex
  36. @if ERRORLEVEL 1 goto :error
  37. dvips -o %MANUAL_FILE%.ps %MANUAL_FILE%.dvi
  38. gswin32c.exe -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%MANUAL_FILE%.pdf -c save pop -f %MANUAL_FILE%.ps
  39. goto :end
  40. :error
  41. @echo ===============
  42. @echo Please consult %MANUAL_FILE%.log to see the error messages
  43. @echo ===============
  44. :end
  45. @REM reset environment
  46. popd
  47. set LATEX_CMD=%ORG_LATEX_CMD%
  48. set ORG_LATEX_CMD=
  49. set MKIDX_CMD=%ORG_MKIDX_CMD%
  50. set ORG_MKIDX_CMD=
  51. set BIBTEX_CMD=%ORG_BIBTEX_CMD%
  52. set ORG_BIBTEX_CMD=
  53. set MANUAL_FILE=%ORG_MANUAL_FILE%
  54. set ORG_MANUAL_FILE=
  55. set LATEX_COUNT=%ORG_LATEX_COUNT%
  56. set ORG_LATEX_COUNT=
  57. :end1