在 Overleaf 中,使用 matlab-prettifier,GBP 符號不顯示,我該如何解決這個問題?

在 Overleaf 中,使用 matlab-prettifier,GBP 符號不顯示,我該如何解決這個問題?

我在 MATLAB 程式碼中的軸標籤之一中使用了 £ 符號,但它沒有在編譯器中顯示。

我的 LaTeX 程式碼是:

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}

\title{BENG0019: Engineering Mathematics in Finance \\[10pt] \textbf{Assignment 2}}
\author{Michael Dodman 18020495}
\date{}

\usepackage{amssymb}
\usepackage{amsmath}
\usepackage{graphicx}
\usepackage{titling}
\setlength{\droptitle}{-4em}

\usepackage{parskip}

\usepackage{geometry}
\geometry{portrait, margin=0.7in}

\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\rhead{18020495}
\lhead{Michael Dodman}
\cfoot{Page \thepage}
\renewcommand{\headrulewidth}{1pt}
\renewcommand{\footrulewidth}{1pt}
\setlength{\headheight}{14pt}

\UseRawInputEncoding
%\usepackage[framed,numbered,autolinebreaks]{mcode}

\usepackage[framed,numbered]{matlab-prettifier}
\lstset{
  style      = Matlab-editor,
  basicstyle = \fontfamily{pcr}\selectfont\footnotesize, % if you want to use Courier
}



\begin{document}
\maketitle \thispagestyle{fancy}

\newpage \section*{Appendix A}
\begin{lstlisting}[style=Matlab-editor]
% Input X data into a 1 x 10 array
x = [85 105 122 143 162 182 203 224 242 262];

% Input each column of Y data into a 1 x 10 array of arrays
y = {[55 62 61 73 76]; [64 72 73 82 87 88]; [79 84 90 94 99]; [80 93 95 103 105 113 115]; [102 107 110 115 113 125]; [110 115 120 130 132 140]; [120 136 140 144 143]; [135 137 140 152 152 160 162]; [137 145 155 164 174 189]; [152 155 173 171 182 182 192]};

% Plotting each column of Y data individually in turn,in a  for loop and
% adding to the existing graph. Plotting filled circles, size 11pt. 
% For loop ends when all data is plotted.
for i = 1:numel(x)
    scatter(ones(1,numel(y{i}))*x(i), y{i}, 11,'filled', 'o' )
    hold on
end

% Adding a grid and axis labels for clarity
grid on
xlabel('Weekly Income/ \pounds ')
ylabel('Weekly Consumption Expenditure/ \pounds ')
\end{lstlisting}

\newpage \section*{Appendix B}

\end{document}

但是,輸出是:

在此輸入影像描述

正如您所看到的,\pounds只是沒有出現?

有什麼幫助嗎?

日誌檔案連結:

https://drive.google.com/file/d/1xCegXUrg_OhAPhvr1NvznKztweGGUuZI/view?usp=sharing

答案1

(我是另一位 Overleaf 支援人員)

我是否正確理解您希望顯示輸出 PDF 中的列表£ 不是 \pounds逐字逐句地?您在這裡編寫程式碼的方式似乎是您想要的\pounds

£為了在你的輸出中得到 a lstlistings,你實際上有一個類似的場景如何在 lstlisting 中設定 UTF8? (收到錯誤)。您有三個選擇:

轉義為 LaTeX\pounds

使用listings套件的「轉義」機制,以便\pounds將其解釋為 LaTeX 命令。 (雖然它可能沒有語法突出顯示)

%% For escapechar, choose a character that's not used in your code snippet! 
\begin{lstlisting}[style=Matlab-editor,escapechar=|]
xlabel('Weekly Income/ |\pounds|')
\end{lstlisting}

「識字」英鎊遠去;然後直接寫£

透過這種方法,您listings可以定義\pounds當遇到£.

\begin{lstlisting}[style=Matlab-editor,
  extendedchars,literate={£}{{\pounds}}1]
xlabel('Weekly Income/ £')
\end{lstlisting}

使用XeLaTeX或LuaLaTeX編譯;直接寫£

將您的專案設定為使用 XeLaTeX 或 LuaLaTeX 進行編譯(在背面,單擊檔案樹選單上方的選單圖標,然後變更“編譯器”設定)。這些編譯器原生處理 UTF-8;所以這會立即起作用:

\begin{lstlisting}[style=Matlab-editor]
xlabel('Weekly Income/ £')
\end{lstlisting}

上述三種方法的輸出範例:

使用轉義的不同輸出; 「識字」;和 XeLaTeX/LuaLaTeX 在 lstlisting 中包含 £ 符號

相關內容