<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      $\LaTeX{}$之快速編譯和刪除中間文件

      本文介紹了在 \(\LaTeX{}\) 中如何使用批處理文件和Makefile來(lái)實(shí)現(xiàn)快速編譯和刪除中間文件,保持工作目錄的清爽整潔。


      批處理文件

      在Windows下可以使用批處理文件來(lái)處理,也可以使用Makefile(但需配置make環(huán)境)。這里為了操作簡(jiǎn)單性,在Windows下只介紹如何使用批處理文件來(lái)實(shí)現(xiàn)快速刪除中間文件和快速編譯。

      快速刪除中間文件(輔助文件)

      步驟如下:

      1. 新建文本文件命名為clean.bat

      2. 復(fù)制下面的代碼放到文本文件中;

        @echo off
        echo Cleaning auxiliary files...
        del /s /q "*.aux" "*.log" "*.out" "*.bbl" "*.blg" "*.toc" "*.lof" "*.lot" "*.synctex.gz"
        echo Cleaning completed!
        pause
        
      3. 將文件放入主文件(.tex)所在文件夾中,雙擊運(yùn)行即可刪除中間文件以及子文件夾中的中間文件。

      快速編譯并刪除中間文件

      步驟如下:

      1. 新建文本文件命名為compile.bat

      2. 復(fù)制下面的代碼放到文本文件中;

        @echo off
        :: ==============================================
        :: LaTeX Compile Automation Script (XeLaTeX + BibTeX)
        :: Usage: Drag and drop the .tex file onto this script or manually specify the file name
        :: ==============================================
        
        :: set variable
        set TEX_COMPILER=xelatex
        set BIB_COMPILER=bibtex
        set MAX_ATTEMPTS=3
        set LOG_EXTENSIONS=*.aux *.log *.out *.bbl *.blg *.toc *.lof *.lot *.synctex.gz
        
        :: Check whether the file is obtained by dragging
        if "%~1"=="" (
            echo Error: Please drag the .tex file onto this script or manually specify the file name
            pause
            exit /b 1
        )
        
        :: Extract the file name (without extension)
        set "TEX_FILE=%~1"
        set "BASE_NAME=%~n1"
        
        :: Compile function definition
        :compile
        echo.
        echo =============== Start Compiling... ===============
        echo Compiling document: %TEX_FILE%
        
        :: First XeLaTeX Compilation
        echo.
        echo [1/4] First %TEX_COMPILER% compiling...
        %TEX_COMPILER% -interaction=nonstopmode -synctex=1 "%BASE_NAME%.tex"
        if %ERRORLEVEL% neq 0 (
            echo Error: First %TEX_COMPILER% Compilation failed
            goto error_handling
        )
        
        :: BibTeX Compilation
        echo.
        echo [2/4] %BIB_COMPILER% compiling reference...
        %BIB_COMPILER% "%BASE_NAME%.aux"
        if %ERRORLEVEL% neq 0 (
            echo Warning: %BIB_COMPILER% There may be issues with the compilation (check the .blg file)
        )
        
        :: Second XeLaTeX Compilation
        echo.
        echo [3/4] Second %TEX_COMPILER% compiling...
        %TEX_COMPILER% -interaction=nonstopmode -synctex=1 "%BASE_NAME%.tex"
        if %ERRORLEVEL% neq 0 (
            echo Error: Second %TEX_COMPILER% Compilation failed
            goto error_handling
        )
        
        :: Third XeLaTeX Compilation (Ensure correct cross-referencing)
        echo.
        echo [4/4] Third %TEX_COMPILER% compiling...
        %TEX_COMPILER% -interaction=nonstopmode -synctex=1 "%BASE_NAME%.tex"
        if %ERRORLEVEL% neq 0 (
            echo Error: Third %TEX_COMPILER% Compilation failed
            goto error_handling
        )
        
        :: Cleaning auxiliary files (Optional)
        echo.
        echo Cleaning auxiliary files...
        del /s /q %LOG_EXTENSIONS% 2>nul
        
        :: Completed Successfully
        echo.
        echo =============== Compilation Completed Successfully ===============
        echo Final output file: %BASE_NAME%.pdf
        start "" "%BASE_NAME%.pdf"  :: Automatically open the generated PDF
        goto end
        
        :: Error Handling
        :error_handling
        set /a ATTEMPTS+=1
        if %ATTEMPTS% lss %MAX_ATTEMPTS% (
            echo.
            echo Attempting to fix the issue (attempt %ATTEMPTS%/3)...
            goto compile
        )
        
        echo.
        echo =============== Compilation Failed ===============
        echo After %MAX_ATTEMPTS% attempts, it has not been successful. Please check the logs:
        type "%BASE_NAME%.log" | more
        goto end
        
        :end
        pause
        
      3. 將文件放入主文件(.tex)所在文件夾中,拖動(dòng)主文件到該腳本上,或者命令行運(yùn)行:compile.bat main.tex

      注意事項(xiàng):TEX_COMPILER可更換為pdflatexlualatex編譯命令,且刪除輔助文件的命令可選擇刪除掉,避免每次都需要重新生成中間文件浪費(fèi)時(shí)間。


      Makefile

      常規(guī)編譯方法

      # 定義編譯器
      LATEX = xelatex
      # 定義需要清理的輔助文件擴(kuò)展名
      AUX_FILES = *.aux *.log *.out *.toc *.lof *.lot *.bbl *.blg *.synctex.gz *.fls *.fdb_latexmk *.run.xml *.nav *.snm *.vrb *.bcf *.idx *.ilg *.ind *.xdv
      
      # 獲取當(dāng)前目錄下所有 .tex 文件(排除帶空格的文件名)
      TEX_FILES = $(wildcard *.tex)
      PDF_FILES = $(TEX_FILES:.tex=.pdf)
      
      # 默認(rèn)目標(biāo):編譯所有 .tex 文件
      all: $(PDF_FILES)
      	@echo "編譯完成!"
      
      # 模式規(guī)則:從 .tex 生成 .pdf
      %.pdf: %.tex
      	$(LATEX) -interaction=nonstopmode -halt-on-error $<
      	#@# 如果有參考文獻(xiàn),運(yùn)行 biber 或 bibtex
      	#@if [ -f $(basename $<).bcf ]; then biber $(basename $<); fi
      	#@if [ -f $(basename $<).aux ]; then bibtex $(basename $<); fi
      	@# 第二次編譯確保交叉引用正確
      	$(LATEX) -interaction=nonstopmode -halt-on-error $<
      	#@# 第三次編譯確保所有引用穩(wěn)定
      	#$(LATEX) -interaction=nonstopmode -halt-on-error $<
      
      # 清理所有輔助文件
      clean:
      	@echo "正在清理輔助文件..."
      	@rm -f $(AUX_FILES)
      	@echo "清理完成!"
      
      # 編譯并清理(常用目標(biāo))
      build: all clean
      
      .PHONY: all clean build
      
      posted @ 2025-09-10 13:23  Invinc-Z  閱讀(27)  評(píng)論(0)    收藏  舉報(bào)
      主站蜘蛛池模板: 国产精品成人自产拍在线| 94人妻少妇偷人精品| 女人18片毛片60分钟| 亚洲成A人片在线观看的电影| 丰满无码人妻热妇无码区| 日本一区不卡高清更新二区 | 亚洲欧美日韩综合久久| 精品亚洲男人一区二区三区| 东乡族自治县| 平山县| 伊人久久大香线蕉网av| 亚洲欧美日韩综合一区在线 | 蜜臀午夜一区二区在线播放| 一本av高清一区二区三区| 欧美肥老太牲交大战| 日本japanese丰满白浆| 亚洲精品中文字幕一区二| 亚洲区中文字幕日韩精品| 农村肥熟女一区二区三区| 99视频在线精品国自产拍| 国产av普通话对白国语| 丹凤县| 久久热精品视频在线视频| 海原县| 国产精品免费视频不卡| 樱桃视频影院在线播放| 久久国产免费观看精品3| 国产午夜福利视频合集| 国产成人综合色就色综合| 美乳丰满人妻无码视频| FC2免费人成在线视频| 国产蜜臀久久av一区二区| 亚洲最大成人av在线天堂网| 精品素人AV无码不卡在线观看| 最新午夜男女福利片视频| 九九热精品免费在线视频| 国产成人无码AV片在线观看不卡| 亚洲天堂一区二区三区三州| 亚洲中文精品一区二区| 久久综合香蕉国产蜜臀av| 国产精品福利自产拍久久|