乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      Beamer幻燈片中l(wèi)istings包的中文注釋亂碼解決方案

       新用戶5228KeDY 2021-10-10

      Beamer幻燈片中l(wèi)istings包的中文注釋亂碼解決方案

      Beamer目前似乎已經(jīng)是LaTeX下演示文稿(PPT、幻燈片)的標準,Beamer做演示文稿象寫程序代碼。于是,如果文稿內(nèi)容本來就含有程序代碼,特別是包含有下劃線、@等特殊符號,一個個去處理顯然是不切實際的,幸好有l(wèi)istings宏包,但是,如果代碼里面有中文,或者注釋里面有中文,要么編譯不過,要么一堆亂碼。

      這個問題的解決,網(wǎng)上有不少方案,安全易用的方案是

      1. 改\begin{frame}為begin{frame}[fragile] \frametitle{ }
      2. 使用“逃逸”字,在lstset集合里設置escapeinside=``,選項
      3. 若需要設置代碼字體,則使用\fontspec宏包,同時在lstset集合里加入basicstyle=\fontspec{字體},選項

      經(jīng)過這樣設置之后,不能再用pdfLaTeX編譯了,只能用XeLaTeX編譯,而且,文件名也不再支持中文了,只能用demo.tex等名字來保存文件。

      以上在Win10 & TeXlive2019 & TexWorks中測試。

      導言區(qū)的設置,寫Arduino代碼:

      \lstset{
        language=C++, %代碼語言C++
        basicstyle=\fontspec{Times New Roman},
        breaklines=true, %過長的代碼自動換行
        extendedchars=false, %代碼跨頁顯示章節(jié)標題、頁眉
        escapeinside=``,
        texcl=true,
        }

      正文開始frame時,加入fragile參數(shù):

      \begin{frame}[fragile]
        \frametitle{用Blink測試ESP32燒錄(一)}
        int LED\_PIN=2指定ESP32板上的引腳2上的LED為輸出。
        但需注意,有些ESP32板上除了電源指示的LED,再沒有其他LED。

      \begin{lstlisting}
        int LED_PIN=2
        void setup() {
          pinMode(LED_PIN, OUTPUT);/*指定2號腳為輸出腳*/
        }

        void loop() {/*循環(huán)運行,除非斷電*/
          digitalWrite(LED_PIN, HIGH);/*給高電平*/
          delay(1000);/*暫停1秒*/
          digitalWrite(LED_PIN, LOW);/*給低電平*/
          delay(1000);/*暫停1秒*/
        }
      \end{lstlisting}
      \end{frame}

      lstistings宏包似乎不支持C語言//這樣的行注釋。效果:

        轉藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多