Zeilenumbruch in C Kommentar

Schriftbild, Absätze und Auflistungen einstellen


Pinguin889
Forum-Newbie
Forum-Newbie
Beiträge: 1
Registriert: Do 5. Apr 2018, 19:20

Zeilenumbruch in C Kommentar

Beitrag von Pinguin889 »

Hallo,

ich versuche mit \lstinputlisting C Code aus Dateien im Dokument einzubinden.
Das funktioniert auch soweit ganz gut. Das Problem ist, dass lange Zeilen in Kommentaren nicht automatisch umgebrochen werden, wenn diese aus nur einem Zeichen bestehen wie z.B. ******...

Bei meiner Suche im Internet bin ich auf \seqsplit gestoßen. Außerhalb des Listings funktioniert das wie gewünscht.
\documentclass[a4paper,english,headsepline]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{listings}
\usepackage{babel}
\usepackage{listings}
\usepackage{seqsplit}

\lstset{breaklines=true}
\lstset{numbers=left, numberstyle=\scriptsize}
\lstset{frame=single}
\lstset{literate=
	{á}{{\'a}}1 {é}{{\'e}}1 {í}{{\'i}}1 {ó}{{\'o}}1 {ú}{{\'u}}1
	{Á}{{\'A}}1 {É}{{\'E}}1 {Í}{{\'I}}1 {Ó}{{\'O}}1 {Ú}{{\'U}}1
	{à}{{\`a}}1 {è}{{\`e}}1 {ì}{{\`i}}1 {ò}{{\`o}}1 {ù}{{\`u}}1
	{À}{{\`A}}1 {È}{{\'E}}1 {Ì}{{\`I}}1 {Ò}{{\`O}}1 {Ù}{{\`U}}1
	{ä}{{\"a}}1 {ë}{{\"e}}1 {ï}{{\"i}}1 {ö}{{\"o}}1 {ü}{{\"u}}1
	{Ä}{{\"A}}1 {Ë}{{\"E}}1 {Ï}{{\"I}}1 {Ö}{{\"O}}1 {Ü}{{\"U}}1
	{â}{{\^a}}1 {ê}{{\^e}}1 {î}{{\^i}}1 {ô}{{\^o}}1 {û}{{\^u}}1
	{Â}{{\^A}}1 {Ê}{{\^E}}1 {Î}{{\^I}}1 {Ô}{{\^O}}1 {Û}{{\^U}}1
	{œ}{{\oe}}1 {Œ}{{\OE}}1 {æ}{{\ae}}1 {Æ}{{\AE}}1 {ß}{{\ss}}1
	{ű}{{\H{u}}}1 {Ű}{{\H{U}}}1 {ő}{{\H{o}}}1 {Ő}{{\H{O}}}1
	{ç}{{\c c}}1 {Ç}{{\c C}}1 {ø}{{\o}}1 {å}{{\r a}}1 {Å}{{\r A}}1
	{€}{{\euro}}1 {£}{{\pounds}}1 {«}{{\guillemotleft}}1
	{»}{{\guillemotright}}1 {ñ}{{\~n}}1 {Ñ}{{\~N}}1 {¿}{{?`}}1
}
\begin{document}

\lstinputlisting[breakatwhitespace=false, frame=tblr, captionpos=b, breaklines=true, caption={Code to take new images till the brightness is almost equivalent}, label={brightness check},language=C]{test.c}

 \seqsplit{************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************}
\end{document}






Mein Dummy C Code sieht so aus:
#include "bla.h"

/************************************************************************************************************************************
 * fgdfd
 * dfg
 * sdfg
 * dfs
 * gds
 * fg
 * sdf
 * g
 * Test mit ÜÖÄ
 * ds
 * fg
 ************************************************************************************************************************************/
void main(void)
{
	int l = 0;
}
Wie kann ich eine ähnliche Funktionalität im Listing erreichen?

So sieht das Dokument aus:
Bild

Stamm-

Anderes Paket verwenden

Beitrag von Stamm- »

Eine Lösung mit »listings« kann ich auch nach mehreren Versuchen nicht liefern. Ich selbst bevorzuge »minted« nicht zuletzt wegen seines ausgefeilteren Umgangs mit Unicde. Das braucht allerdings »Python« und »Pygments«. Ähnliche Voraussetzungen benötigen auch »texments« und »verbments«.
\documentclass[parskip=half,english]{scrreprt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{babel}

\usepackage[chapter]{minted}
\setminted{
  autogobble,
  breaklines=true,
  breakanywhere,
  frame=single,
  linenos,
  numbersep=6pt
}

\usepackage{lmodern}
\usepackage{microtype}

\usepackage{filecontents}
\begin{filecontents*}{test.c}
#include "bla.h"

/************************************************************************************************************************************
 * fgdfd
 * dfg
 * sdfg
 * dfs
 * gds
 * fg
 * sdf
 * g
 * Test mit ÜÖÄ
 * ds
 * fg
************************************************************************************************************************************/
void main(void)
{
   int l = 0;
}
\end{filecontents*}

\begin{document}
  \begin{listing}[!htb]
    \inputminted{c}{test.c}
    \caption{Code to take new images till the brightness is almost equivalent}
    \label{lsr:brightness-check}
  \end{listing}
\end{document}
Für Listings gibt es noch viel weitere Pakete. Einige davon sind allerdings auf bestimmte Sprachen und Formate spezialisiert.

Antworten