Ich habe in einer meiner Achsenbeschriftungen in meinem MATLAB-Code ein £-Zeichen verwendet, aber es wird im Compiler nicht angezeigt.
Mein LaTeX-Code lautet:
\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}
Die Ausgabe lautet jedoch:
Wie Sie sehen, \pounds
wird es einfach nicht angezeigt?
Irgendeine Hilfe dabei?
Link zur Logdatei:
https://drive.google.com/file/d/1xCegXUrg_OhAPhvr1NvznKztweGGUuZI/view?usp=sharing
Antwort1
(Ich bin ein weiterer Support-Mitarbeiter von Overleaf)
Verstehe ich richtig, dass Sie die Einträge im Ausgabe-PDF anzeigen möchten?£
nicht \pounds
wörtlich? So wie du deinen Code hier geschrieben hast, schien es, als hättest du gewollt \pounds
.
Um ein £
in Ihrer lstlistings
Ausgabe zu erhalten, haben Sie tatsächlich ein ähnliches Szenario wieWie stelle ich UTF8 in einer Listenliste ein? (Fehler empfangen)Sie haben drei Möglichkeiten:
Escape-to-LaTeX für\pounds
Verwenden Sie den listings
„Escape“-Mechanismus des Pakets, damit es \pounds
als LaTeX-Befehl interpretiert wird. (Es kann jedoch sein, dass die Syntax nicht hervorgehoben wird.)
%% 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}
"Literate" £ weg; dann schreiben Sie £ direkt
Mit diesem Ansatz definieren Sie, was listings
getan werden soll (stattdessen verwenden \pounds
), wenn ein auftritt £
.
\begin{lstlisting}[style=Matlab-editor,
extendedchars,literate={£}{{\pounds}}1]
xlabel('Weekly Income/ £')
\end{lstlisting}
Kompilieren Sie mit XeLaTeX oder LuaLaTeX; schreiben Sie £ direkt
Stellen Sie Ihr Projekt so ein, dass es mit XeLaTeX oder LuaLaTeX kompiliert wird (klicken Sie bei Overleaf auf das Menüsymbol über dem Dateibaummenü und ändern Sie die Einstellung „Compiler“). Diese Compiler verarbeiten UTF-8 nativ; daher funktioniert dies sofort:
\begin{lstlisting}[style=Matlab-editor]
xlabel('Weekly Income/ £')
\end{lstlisting}
Beispielausgabe der drei oben genannten Ansätze: