在列表中獲取更窄的文字?

在列表中獲取更窄的文字?

我的水平空間有限,無法列出一些程式碼:

\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}

我想水平擠壓它一點。 (是的,我知道在這個例子中它延伸到行尾;但也許我把它放在小頁面或多列文件等中。)

現在,我不想走\tiny,只是橫向擠壓一下。如果我不在一個lstlistings環境中,我可能會使用類似秤盒的東西, 也許textls,但我在 lstlistings 環境中確實沒有這種靈活性(我認為)。我假設必須有一些東西需要放入;basicstyle中的包參數中\lstset但是——什麼?

答案1

例如,拉丁現代有輕一點的 tt 和壓縮的 tt,前者要薄一些

在此輸入影像描述

\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}

答案2

這裡有一個方法,用較窄的字體,即URW Letter Gothic(可在CTAN:

\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} 

在此輸入影像描述

相關內容