Probleme mit dem Zeilenumbruch bei Inline-Listings

Probleme mit dem Zeilenumbruch bei Inline-Listings

Ich habe Probleme mit dem Zeilenumbruch von Inline-Auflistungen. Wie Sie im verlinkten Bild sehen können, steht der Punkt am Ende des Satzes aufgrund des Textumbruchs in der nächsten Zeile cite-website. Das Listings-Paket hat beschlossen, den Text umzubrechen, obwohl er vollständig in der ersten Zeile steht. Wenn der rote Hakenpfeil nicht da wäre, würde der Punkt dort passen.

Auflistungen Wrapping Probleme Bild

MWE:

\documentclass[twoside]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{microtype}
\UseMicrotypeSet[protrusion]{basicmath} % disable protrusion for tt fonts
\usepackage{listings}
\usepackage[vmargin=1in,headheight=13pt,twoside,twocolumn,a5paper]{geometry}
\usepackage{accsupp}
\usepackage{MnSymbol}
\usepackage{textcomp}
\usepackage[usenames,dvipsnames,svgnames,table]{xcolor}

\newcommand{\noncopy}[1]{%
    \BeginAccSupp{method=escape,ActualText={}}%
    #1%
    \EndAccSupp{}%
}

\lstset{breaklines=true,
  xleftmargin=1.5em,framexleftmargin=1em,
  basicstyle=\ttfamily,
  upquote=true,
  literate={`}{{\BeginAccSupp{method=plain,ActualText=`}‵\EndAccSupp{}}}1
  {"}{{\BeginAccSupp{method=plain,ActualText="}"\EndAccSupp{}}}1
  {'}{{\BeginAccSupp{method=plain,ActualText='}'\EndAccSupp{}}}1,
  showstringspaces=false,
  numbers=left, numberstyle=\scriptsize\noncopy,
  %postbreak=\raisebox{0ex}[0ex][0ex]{\noncopy{\ensuremath{\color{red}\hookrightarrow}}},
  prebreak=\raisebox{0ex}[0ex][0ex]{\noncopy{\ensuremath{\color{red}\rhookswarrow}}}
}

\begin{document}
Foo bar baaz \lstinline!cite-website!.
\end{document}

AKTUALISIERUNG 1

Hier ist ein kleineres MWE. Ich behalte das Obige im Beitrag, weil ich all diese Dinge tatsächlich im eigentlichen Dokument verwende:

\documentclass[twoside]{article}
\usepackage{lmodern}
\usepackage{amssymb,amsmath}
\usepackage{listings}
\usepackage[vmargin=1in,headheight=13pt,twoside,twocolumn,a5paper]{geometry}
\usepackage{MnSymbol}
\usepackage{textcomp}

\lstset{breaklines=true,
  basicstyle=\ttfamily,
  showstringspaces=false,
  prebreak=\raisebox{0ex}[0ex][0ex]{\ensuremath{\rhookswarrow}}}

\begin{document}
Foo bar baaz \lstinline!cite-website!.
\end{document}

Antwort1

Ich habe gerade angefangen, mit zu experimentieren listings. Haben Sie versucht, diese Zeile zu Ihrer \lstsetDefinition hinzuzufügen?

breakatwhitespace=true,

Diese Einstellung legt fest, ob automatische Umbrüche nur bei Leerzeichen erfolgen sollen (ich glaube, standardmäßig können sie überall in einer Zeile erfolgen, um Leuten entgegenzukommen, die Codetypen mit vielen Leerzeichen schreiben).

Quelle:https://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings#Einstellungen

verwandte Informationen