站長留言

  • ✅ 本站維護及更新歷史紀錄,詳情請參考公告
  • ✅ 有任何意見、想法,歡迎留言給Spicy知道喔
  • ✅ 固定於每周一至周五更新Blogger文章,周末不定期
程式LaTex

【LaTeX】EP1:如何將程式碼優美的加入文章中?

圖片來源1🔗, 圖片來源2 🔗

本教學提供給有LaTeX基礎的人閱讀

目標 Common

  • 小片段的程式,自動根據不同程式語言上色
  • 程式碼若是一份文件,也可以自動嵌入文章,並根據不同程式語言上色
  • 程式碼搭配行數(1、2、3...)呈現,某些程式的一行可能文章要好幾行才能完整呈現
  • 直接將程式碼呈現在文章的某個段落...

本教學參數設定

主要分成線上編輯器跟一般編輯器

  • Online:線上編輯器,皆以Overleaf為例
  • Offline:一般編輯器,皆以Texmaker為例

參數設定

  • 作業系統:Windows 11
  • 編譯類型:XeLaTeX
  • Python:Anaconda3 套件管理系統,請參考延伸閱讀

引用Package

Online (Overleaf)

只要引入package即可,xcolor為搭配minted所需
\usepackage{minted} % for code listings \usepackage{xcolor}

Offline (Texmaker)

引入package,程式碼同上
完成後可先試著編譯,但可能會出錯...

試著編譯...

若出現錯誤訊息,例如:minted: You must have `pygmentize' installed to use this package.
則執行以下步驟:
  • 打開python的命令提示自元,確認此套件pygmentize是否安裝
    • pygmentize -V
    • 若沒有安裝,則執行 pip install Pygments

確認此套件pygmentize是否安裝

  • 若套件pygmentize已安裝,仍出現錯誤訊息,請打開環境變數
  • 路徑:設定 → 系統 → 最後一項 "關於" → 進階系統設定 → 環境變數

打開環境變數

    • 接著要讓Texmaker和MiKTeX可以讀取到Python套件
    • 打開Path,將Python套件的安裝路徑移動至MiKTeX的安裝路徑之前,完成後按保存

    讓MiKTeX可以讀取到Python套件

    • 完成後可先試著編譯,若仍出錯,則繼續執行...
    • 點選Texmaker的 選項 → 設定Texmaker
    • 修改XeLaTeX的命令,於 %.tex 前添加 -shell-escape

    修改XeLaTeX的命令

    添加程式碼

    方法1:直接寫在文件中

    % 程式語言為python
    \begin{minted}{python} print("Hello World") \end{minted}

    直接寫在文件中

    方法2:引用檔案

    將檔案放置在專案目錄底下,方便管理
    檔案位置

    程式碼:
    % linenos為每行標號,breaklines為自動換行
    % 程式語言為javascript
    % 檔案位於code/code.txt
    \inputminted[linenos,tabsize=2,breaklines]{javascript}{code/code.txt}

    引用檔案

    補充說明

    若想要查詢支援哪些程式語言,可以利用python套件pygmentize提供的指令進行查詢
    總計約300多個語言,指令為 pygmentize -L lexers
    支援程式語言查詢

    延伸閱讀


    參考資料 Reference

    沒有留言:

    張貼留言

    本網站建議使用電腦或平板瀏覽