在 LaTeX 中嵌入 Bash 代码的问题

Problem with embedding a Bash code in LaTeX

我正在尝试使用 listings 包来将这个 bash 片段嵌入到我的 LaTeX 报告中。

┌──(kali㉿kali)-[~]
└─$ passwd kali
Changing password for kali.
Current password:
New password:
Retype new password:
passwd: password updated successfully

┌──(kali㉿kali)-[~]
└─$

1- 看来我不能使用下面的特殊字符:

    ┌──(kali㉿kali)-[~]
    └─$

我收到以下错误:! Package inputenc Error: Invalid UTF-8 byte sequence. 尽管我使用了:extendedchars=true

2- 我无法加粗提示行,尽管我使用:\%*\textbf{$ passwd kali}*)

这是我的代码简介:

\usepackage{color}
\definecolor{verylightgray}{rgb}{0.9,0.9,0.9}
\usepackage{listings}
\lstset{
    basicstyle=\footnotesize,
    frame=single,
    backgroundcolor=\color{verylightgray},
    extendedchars=true
}
...

\begin{lstlisting}[numbers=left]

\%*\textbf{$ passwd kali}*)
Changing password for kali.
Current password:
New password:
Retype new password:
passwd: password updated successfully

\end{lstlisting}
  • 如果你想使用像 \textbf{...} 这样的格式化命令,你必须在转义字符中使用它,例如选择 @ 作为转义字符 escapechar={@}

  • listings 本身不支持 unicode,但如果您将所有特殊字符也放在转义字符中,则可以使用 unicode 感知引擎,如 lualatex 或 xelatex 来编译您的文档.

  • 你还需要找到一种支持外来字符的字体,如 。为此,您可以使用命令行工具 albatross。如果您调用 albatross ㉿,它将为您提供支持该字符的所有字体的列表:

        __ __           __
.---.-.|  |  |--.---.-.|  |_.----.-----.-----.-----.
|  _  ||  |  _  |  _  ||   _|   _|  _  |__ --|__ --|
|___._||__|_____|___._||____|__| |_____|_____|_____|

                     Unicode code point 327F mapping to ㉿                     
┌─────────────────────────────────────────────────────────────────────────────┐
│ Font name                                                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│ Adobe Myungjo Std,Adobe 명조 Std,Adobe Myungjo Std M,Adobe 명조 Std M                │
├─────────────────────────────────────────────────────────────────────────────┤
│ Apple SD Gothic Neo,Apple SD 산돌고딕 Neo                                            │
├─────────────────────────────────────────────────────────────────────────────┤
│ AppleGothic                                                                        │
├─────────────────────────────────────────────────────────────────────────────┤
│ AppleMyungjo                                                                       │
├─────────────────────────────────────────────────────────────────────────────┤
│ Arial Unicode MS                                                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│ Batang,바탕                                                                         │
├─────────────────────────────────────────────────────────────────────────────┤
│ Gulim,굴림                                                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│ GungSeo                                                                            │
├─────────────────────────────────────────────────────────────────────────────┤
│ LastResort                                                                         │
├─────────────────────────────────────────────────────────────────────────────┤
│ Nanum Brush Script,나눔손글씨 붓                                                      │
├─────────────────────────────────────────────────────────────────────────────┤
│ Nanum Gothic,나눔고딕                                                                │
├─────────────────────────────────────────────────────────────────────────────┤
│ Nanum Gothic,나눔고딕,NanumGothic ExtraBold,나눔고딕 ExtraBold                         │
├─────────────────────────────────────────────────────────────────────────────┤
│ Nanum Myeongjo,나눔명조                                                              │
├─────────────────────────────────────────────────────────────────────────────┤
│ Nanum Myeongjo,나눔명조,NanumMyeongjoExtraBold,나눔명조 ExtraBold                      │
├─────────────────────────────────────────────────────────────────────────────┤
│ Nanum Pen Script,나눔손글씨 펜                                                        │
├─────────────────────────────────────────────────────────────────────────────┤
│ PCMyungjo                                                                          │
├─────────────────────────────────────────────────────────────────────────────┤
│ PilGi                                                                              │

% !TeX TS-program = lualatex

\documentclass{article}

\usepackage{fontspec}

\setmonofont{Arial Unicode MS}

\usepackage{color}
\definecolor{verylightgray}{rgb}{0.9,0.9,0.9}
\usepackage{listings}

\lstset{
    basicstyle=\footnotesize\ttfamily,
    frame=single,
    backgroundcolor=\color{verylightgray},
    extendedchars=true,
    escapechar={@},
}


\begin{document}

\begin{lstlisting}
@\fontspec{Arial}\selectfont\textbf{$ passwd kali}@

@┌──@(kali@㉿@kali)-[~]
@└─@$ passwd kali
Changing password for kali.
Current password:
New password:
Retype new password:
passwd: password updated successfully

@┌──@(kali@㉿@kali)-[~]
@└─@$
\end{lstlisting}

\end{document}