Seite 1 von 1

Umlaute verschwinden bei Funktionsaufruf

Verfasst: Do 31. Aug 2017, 08:48
von chris_t
Hallo zusammen,

ich habe eine Funktion, welche Zeilenumbrüche entfernt. Integriere ich diese Funktion in sectionmark, verschwinden auf einmal die Umlaute in der Kopfzeile. Offenbar ein Encodingproblem an irgendeiner Stelle, aber ich finde den Fehler nicht.
Wäre toll, wenn jemand eine Idee hat.

Vielen Dank

Christian
\documentclass[12pt,headings=normal]{scrreprt}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{blindtext}
\usepackage{scrpage2}
 
%Funktion entfernt linebreaks
\newcommand{\removelinebreaks}[1]{%
  \begingroup\def\\{ }#1\endgroup}

\begin{document}
\clearscrheadings
\clearscrplain
\pagestyle{scrheadings}
\ohead{\headmark}
\automark[section]{chapter}
  
%Funktion entfernt Linebreaks aus den Kopfzeilen
\renewcommand\sectionmark[1]{\markright{\thesection~\removelinebreaks{#1}}} 

\chapter{Kapitel}
%Test der Funktion allein
\removelinebreaks{Test:\\ÜüÄäÖöß -> OK funktioniert mit Umlauten}

%Test der Funktion integriert
\section{Test:\\ÜüÄäÖöß ->funktioniert NICHT mit Umlauten}

\blindtext
\subsection{Unterunterkapitel}
\blindtext[3]

\end{document}

Verfasst: Do 31. Aug 2017, 15:34
von Gast
Dein Befehl zerbricht. Verwende entweder
\DeclareRobustCommand{\removelinebreaks}[1]{%
  \begingroup\def\\{ }#1\endgroup}
oder gleich
\DeclareRobustCommand{\removelinebreaks}[1]{%
  \begingroup\let\\\space#1\endgroup}

Off-Topic: Veraltete Pakete

Verfasst: Do 31. Aug 2017, 15:36
von Gast
PS: scrpage2 ist veraltet. Siehe [d]scrpage2[/d]-Anleitung.

Verfasst: Do 31. Aug 2017, 15:44
von chris_t
Funktioniert! Herzlichen Dank!