
Ich versuche, einen C++-Code in mein Latex-Dokument einzufügen. Was ich jedoch versucht habe, funktioniert nicht. Alles andere funktioniert einwandfrei, aber ich sehe das C++ nicht als C++-Code. Es ist nur im gleichen Format wie der Text „Alphapartikel ...“ geschrieben.
Hier ist das MWE: Der Text lautet:
\documentclass{article}
\usepackage{listings}
\usepackage{xcolor}
\lstset {
language=C++,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize,% basic font setting
}
\begin{document}
Alpha particles \cite{wikip} (named \cite{Comp} after and denoted by the first letter in the
Greek alphabet,\[\alpha\]) consist of two protons and two neutrons bound
together.
This means that an particle is a helium nucleus.
\begin{lstlisting}
int size =1;
*ptr = Mole:getMole(size + 1);
\end{lstlisting}
\bibliographystyle{plain}
\bibliography{BibName}
\end{document}
Erwartetes Ergebnis:
Antwort1
Sie möchten für die Auflistung eine andere Schriftfamilie verwenden. Da Schlüsselwörter im Stil fett gedruckt sind, sind die Standardschriften für moderne Computerschreibmaschinen nicht gut geeignet, da sie nicht fett gedruckt sind.
Eine gute Monospace-Schriftfamilie, die gut zwischen mittlerer Serie und Fettschrift unterscheidet, ist BeraMono.
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{listings}
\usepackage{xcolor}
\usepackage[scaled=.85]{beramono}
\lstset{
language=C++,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize\ttfamily,% basic font setting
columns=fullflexible,
}
\begin{document}
Alpha particles (named after and denoted by the first letter in the Greek alphabet,
$\alpha$) consist of two protons and two neutrons bound together. This means that an
particle is a helium nucleus.
\begin{lstlisting}
int size =1;
*ptr = Mole:getMole(size + 1);
\end{lstlisting}
\end{document}
Beachten Sie, dass Sie für eine Inline-Formel $\alpha$
oder verwenden \(\alpha\)
, statt \[\alpha\]
dass die Formel dadurch zentriert würde.
Ich habe die Zitate entfernt, die für dieses Thema irrelevant sind.
Antwort2
Falls Sie damit nicht weiterkommen listings
, gibt es das verbatimbox
Paket, wenn Sie keine Schlüsselworthervorhebung benötigen.
Hier zeige ich listings
zum verbatimbox
Vergleich: Durch Verwendung der verbnobox
Umgebung kann man Seitenumbrüche mitten in der Auflistung erzielen.
\documentclass{article}
\usepackage{xcolor}
% LISTINGS PREP
\usepackage{listings}
\lstset {
language=C++,
backgroundcolor=\color{black!5}, % set backgroundcolor
basicstyle=\footnotesize,% basic font setting
}
% VERBATIMBOX PREP
\usepackage{verbatimbox}
\def\codesize{\footnotesize}
\newsavebox\thecolorfield
\newcommand\setcolorfield[1][blue!9!gray!8]{%
\savebox{\thecolorfield}{\codesize%
\makebox[0pt][l]{\textcolor{#1}{%
\rule[-\dp\strutbox]{\textwidth}{\dimexpr\ht\strutbox+\dp\strutbox}}}}%
}
\def\colorfield{\usebox{\thecolorfield}}
\setcolorfield
%
\begin{document}
WITH LISTINGS:
\begin{lstlisting}
int size =1;
*ptr = Mole:getMole(size + 1);
\end{lstlisting}
WITH VERBATIMBOX (ttfamily):
\begin{verbnobox}[\colorfield\ttfamily\codesize]
int size =1;
*ptr = Mole:getMole(size + 1);
\end{verbnobox}
\setcolorfield[green!8]
WITH VERBATIMBOX (bold-rmfamily):
\begin{verbnobox}[\colorfield\rmfamily\bfseries\codesize]
int size =1;
*ptr = Mole:getMole(size + 1);
\end{verbnobox}
\end{document}