Ich habe nur begrenzten horizontalen Platz, um etwas Code aufzulisten:
\documentclass[]{article}
\usepackage{xcolor}
\usepackage{listings}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
language=bash,
basicstyle=\footnotesize\ttfamily,
keepspaces=true,
}
\lstset{style=mystyle}
\begin{document}
\begin{lstlisting}
C_10 := elementwise.range_check(C_4,S_5,S_6)
\end{lstlisting}
\end{document}
und ich möchte es horizontal etwas komprimieren. (Ja, ich weiß, dass es in diesem Beispiel bis zum Zeilenende reicht; aber vielleicht habe ich es in einer Miniseite oder in einem mehrspaltigen Dokument usw.)
Jetzt will ich nicht gehen \tiny
, nur ein bisschen horizontal drücken. Wenn ich nicht in einemlstlistings
Umgebung wäre, würde ich vielleichtVerwenden Sie so etwas wie eine Scalebox, oder vielleichttextls
, aber ich habe diese Flexibilität (glaube ich) in einer lstlistings-Umgebung nicht wirklich. Ich gehe davon aus, dass es etwas geben muss, das ich in den basicstyle
Paketparameter in einfügen muss \lstset
; aber – was?
Antwort1
Latin Modern hat zum Beispiel ein leichtes TT, das etwas dünner ist, und ein kondensiertes TT, das viel dünner ist
\documentclass[]{article}
\usepackage{xcolor}
\usepackage{listings}
\makeatletter
\def\lmtt@use@light@as@normal{}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{mystyle3}{
backgroundcolor=\color{backcolour},
language=bash,
basicstyle=\fontencoding{T1}\footnotesize\fontfamily{lmtt}\fontseries{c}\selectfont,
keepspaces=true,
}
\lstdefinestyle{mystyle2}{
backgroundcolor=\color{backcolour},
language=bash,
basicstyle=\fontencoding{T1}\footnotesize\fontfamily{lmtt}\fontseries{m}\selectfont,
keepspaces=true,
}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
language=bash,
basicstyle=\footnotesize,
keepspaces=true,
}
\lstset{style=mystyle}
\begin{document}
\begin{lstlisting}
C_10 := elementwise.range_check(C_4,S_5,S_6)
\end{lstlisting}
\lstset{style=mystyle2}
\begin{lstlisting}
C_10 := elementwise.range_check(C_4,S_5,S_6)
\end{lstlisting}
\lstset{style=mystyle3}
\begin{lstlisting}
C_10 := elementwise.range_check(C_4,S_5,S_6)
\end{lstlisting}
\end{document}
Antwort2
Hier ist eine Möglichkeit, mit einer schmaleren Schriftart, nämlich URW Letter Gothic (verfügbar aufCTAN:
\documentclass[]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\usepackage{listings}
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
\lstdefinestyle{mystyle}{
backgroundcolor=\color{backcolour},
language=bash,
basicstyle=\footnotesize\ttfamily,
keepspaces=true,
}
\lstset{style=mystyle}
\usepackage{etoolbox}
\AtBeginEnvironment{lstlisting}{\renewcommand\ttfamily{\fontfamily{ulg}\selectfont}}
\begin{document}
\noindent\verb|C_10 := elementwise.range_check(C_4,S_5,S_6)|
\begin{lstlisting}
C_10 := elementwise.range_check(C_4,S_5,S_6)
\end{lstlisting}
\begin{lstlisting}[basicstyle=\scriptsize\ttfamily]
C_10 := elementwise.range_check(C_4,S_5,S_6)
\end{lstlisting}
\end{document}