Using the % percent sign in lstlisting breaks text coloring
In my lstlisting, If I use a % sign, the highlighting for the rest of the file no longer works.
subsection{Dereferencing pointers}
par When you dereference a pointer, you are going to the memory address, and grabbing the piece of
information from there.
begin{lstlisting}[language=C]
printf("%p", pAge);
end{lstlisting}
subsection{why use pointers?}
Here is what it looks like in latex.

You can see that the subsection on the very first line is purple and there is no highlighting of lstlisting in the first begin{lstlisting} but then right after adding the % sign, the lstlisting became highlighted indicating it is spelled wrong, and the subsection at the very last line is not in purple text.
As soon as removing the % signs, it is fixed. Also, when I add before each % the problem is also fixed but then the backslash shows up in the compiled version which I don't want.
Here is my lstlisting style definition.
lstdefinestyle{mystyle}{
backgroundcolor=color{backcolour},
commentstyle=color{codegreen},
keywordstyle=color{magenta},
numberstyle=tinycolor{codegray},
stringstyle=color{codepurple},
basicstyle=footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
lstset{style=mystyle, escapeinside={|}{|}}
color lstlisting
add a comment |
In my lstlisting, If I use a % sign, the highlighting for the rest of the file no longer works.
subsection{Dereferencing pointers}
par When you dereference a pointer, you are going to the memory address, and grabbing the piece of
information from there.
begin{lstlisting}[language=C]
printf("%p", pAge);
end{lstlisting}
subsection{why use pointers?}
Here is what it looks like in latex.

You can see that the subsection on the very first line is purple and there is no highlighting of lstlisting in the first begin{lstlisting} but then right after adding the % sign, the lstlisting became highlighted indicating it is spelled wrong, and the subsection at the very last line is not in purple text.
As soon as removing the % signs, it is fixed. Also, when I add before each % the problem is also fixed but then the backslash shows up in the compiled version which I don't want.
Here is my lstlisting style definition.
lstdefinestyle{mystyle}{
backgroundcolor=color{backcolour},
commentstyle=color{codegreen},
keywordstyle=color{magenta},
numberstyle=tinycolor{codegray},
stringstyle=color{codepurple},
basicstyle=footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
lstset{style=mystyle, escapeinside={|}{|}}
color lstlisting
%is a reserved character in (La)TeX which indicates a comment. Have you tried%(to escape the character)?
– whatisit
34 mins ago
Yes, however when I use%then the also shows up in the compiled pdf file, which I do not want. Is there no way to prevent that from happening? I thoughtlstlistingprints the text verbatim and as a result wouldn't change anything outside of the environment.
– appljuice
31 mins ago
Ah, sorry, I missed that you indicated that. By the way, it would be helpful to make this into a complete minimal working example rather than a code snippet.
– whatisit
28 mins ago
So I just realized that if I do|%|then I can get just % to show up without messing up text color in the editor but then in the pdf,%is not purple like the text should be; this also doesn't seem to be a very good solution.
– appljuice
23 mins ago
add a comment |
In my lstlisting, If I use a % sign, the highlighting for the rest of the file no longer works.
subsection{Dereferencing pointers}
par When you dereference a pointer, you are going to the memory address, and grabbing the piece of
information from there.
begin{lstlisting}[language=C]
printf("%p", pAge);
end{lstlisting}
subsection{why use pointers?}
Here is what it looks like in latex.

You can see that the subsection on the very first line is purple and there is no highlighting of lstlisting in the first begin{lstlisting} but then right after adding the % sign, the lstlisting became highlighted indicating it is spelled wrong, and the subsection at the very last line is not in purple text.
As soon as removing the % signs, it is fixed. Also, when I add before each % the problem is also fixed but then the backslash shows up in the compiled version which I don't want.
Here is my lstlisting style definition.
lstdefinestyle{mystyle}{
backgroundcolor=color{backcolour},
commentstyle=color{codegreen},
keywordstyle=color{magenta},
numberstyle=tinycolor{codegray},
stringstyle=color{codepurple},
basicstyle=footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
lstset{style=mystyle, escapeinside={|}{|}}
color lstlisting
In my lstlisting, If I use a % sign, the highlighting for the rest of the file no longer works.
subsection{Dereferencing pointers}
par When you dereference a pointer, you are going to the memory address, and grabbing the piece of
information from there.
begin{lstlisting}[language=C]
printf("%p", pAge);
end{lstlisting}
subsection{why use pointers?}
Here is what it looks like in latex.

You can see that the subsection on the very first line is purple and there is no highlighting of lstlisting in the first begin{lstlisting} but then right after adding the % sign, the lstlisting became highlighted indicating it is spelled wrong, and the subsection at the very last line is not in purple text.
As soon as removing the % signs, it is fixed. Also, when I add before each % the problem is also fixed but then the backslash shows up in the compiled version which I don't want.
Here is my lstlisting style definition.
lstdefinestyle{mystyle}{
backgroundcolor=color{backcolour},
commentstyle=color{codegreen},
keywordstyle=color{magenta},
numberstyle=tinycolor{codegray},
stringstyle=color{codepurple},
basicstyle=footnotesize,
breakatwhitespace=false,
breaklines=true,
captionpos=b,
keepspaces=true,
numbers=left,
numbersep=5pt,
showspaces=false,
showstringspaces=false,
showtabs=false,
tabsize=2
}
lstset{style=mystyle, escapeinside={|}{|}}
color lstlisting
color lstlisting
asked 40 mins ago
appljuiceappljuice
132
132
%is a reserved character in (La)TeX which indicates a comment. Have you tried%(to escape the character)?
– whatisit
34 mins ago
Yes, however when I use%then the also shows up in the compiled pdf file, which I do not want. Is there no way to prevent that from happening? I thoughtlstlistingprints the text verbatim and as a result wouldn't change anything outside of the environment.
– appljuice
31 mins ago
Ah, sorry, I missed that you indicated that. By the way, it would be helpful to make this into a complete minimal working example rather than a code snippet.
– whatisit
28 mins ago
So I just realized that if I do|%|then I can get just % to show up without messing up text color in the editor but then in the pdf,%is not purple like the text should be; this also doesn't seem to be a very good solution.
– appljuice
23 mins ago
add a comment |
%is a reserved character in (La)TeX which indicates a comment. Have you tried%(to escape the character)?
– whatisit
34 mins ago
Yes, however when I use%then the also shows up in the compiled pdf file, which I do not want. Is there no way to prevent that from happening? I thoughtlstlistingprints the text verbatim and as a result wouldn't change anything outside of the environment.
– appljuice
31 mins ago
Ah, sorry, I missed that you indicated that. By the way, it would be helpful to make this into a complete minimal working example rather than a code snippet.
– whatisit
28 mins ago
So I just realized that if I do|%|then I can get just % to show up without messing up text color in the editor but then in the pdf,%is not purple like the text should be; this also doesn't seem to be a very good solution.
– appljuice
23 mins ago
% is a reserved character in (La)TeX which indicates a comment. Have you tried % (to escape the character)?– whatisit
34 mins ago
% is a reserved character in (La)TeX which indicates a comment. Have you tried % (to escape the character)?– whatisit
34 mins ago
Yes, however when I use
% then the also shows up in the compiled pdf file, which I do not want. Is there no way to prevent that from happening? I thought lstlisting prints the text verbatim and as a result wouldn't change anything outside of the environment.– appljuice
31 mins ago
Yes, however when I use
% then the also shows up in the compiled pdf file, which I do not want. Is there no way to prevent that from happening? I thought lstlisting prints the text verbatim and as a result wouldn't change anything outside of the environment.– appljuice
31 mins ago
Ah, sorry, I missed that you indicated that. By the way, it would be helpful to make this into a complete minimal working example rather than a code snippet.
– whatisit
28 mins ago
Ah, sorry, I missed that you indicated that. By the way, it would be helpful to make this into a complete minimal working example rather than a code snippet.
– whatisit
28 mins ago
So I just realized that if I do
|%| then I can get just % to show up without messing up text color in the editor but then in the pdf, % is not purple like the text should be; this also doesn't seem to be a very good solution.– appljuice
23 mins ago
So I just realized that if I do
|%| then I can get just % to show up without messing up text color in the editor but then in the pdf, % is not purple like the text should be; this also doesn't seem to be a very good solution.– appljuice
23 mins ago
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "85"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f470170%2fusing-the-percent-sign-in-lstlisting-breaks-text-coloring%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to TeX - LaTeX Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f470170%2fusing-the-percent-sign-in-lstlisting-breaks-text-coloring%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
%is a reserved character in (La)TeX which indicates a comment. Have you tried%(to escape the character)?– whatisit
34 mins ago
Yes, however when I use
%then the also shows up in the compiled pdf file, which I do not want. Is there no way to prevent that from happening? I thoughtlstlistingprints the text verbatim and as a result wouldn't change anything outside of the environment.– appljuice
31 mins ago
Ah, sorry, I missed that you indicated that. By the way, it would be helpful to make this into a complete minimal working example rather than a code snippet.
– whatisit
28 mins ago
So I just realized that if I do
|%|then I can get just % to show up without messing up text color in the editor but then in the pdf,%is not purple like the text should be; this also doesn't seem to be a very good solution.– appljuice
23 mins ago