Sie sind hier

Sprachumschaltung mit \selectlanguage{} und \captions... bei scrlttr2 geht wie?

Hallo Markus,
auf mrunix.de hat jemand versucht, einen dreisprachigen Briefkopf zu erstellen. Ich komme nicht dahinter, wie man in diesem Beispiel "yourref" dazu kriegt, sich an \selectlanguage{italian} zu halten und nicht einfach die letzte babel genannte Sprache zu verwenden.

\documentclass{scrlttr2}
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
 
\usepackage[italian, ngerman, french]{babel}
 
\setkomavar{frombank}{01-12345-7}
\setkomavar{fromphone}{+1 234 56 78}
\setkomavar{yourref}{ABC}
 
\AtBeginLetter{%
\renewcaptionname{ngerman}{\bankname}{Postkontonummer}
 \renewcaptionname{french}{\bankname}{Compte postal}
\renewcaptionname{italian}{\bankname}{Numero di conto}
 
\providecaptionname{ngerman}{\fromorgname}{Google -- Die Suchmaschine}
 \providecaptionname{french}{\fromorgname}{Google -- moteur de recherche}
\providecaptionname{italian}{\fromorgname}{Google -- motore di ricerca}
}
 
\firsthead{\fromorgname}
 
\firstfoot{\usekomavar*{phoneseparator}\usekomavar{phoneseparator}\usekomavar{fromphone}
	\hfill
	\parbox[t]{4cm}{\raggedleft \usekomavar*{frombank}:\\\usekomavar{frombank}}
 
	}%
 
\begin{document}\selectlanguage{italian}
 
 
\begin{letter}{Herr\\Hans Meier\\Berlin}
 
 
 
\opening{Lieber Hans}
 
Cool, dass du nun auch \LaTeX verwendest!
\closing{Lieber Gruss}
 
\end{letter}
\end{document}

Gruß,
Alexander

forum: 

Oh, gerade gesehen, steht seit ein paar Stunden schon als Fehlermeldung der Version 3.01a hier.

War das ein Zufall oder liest Du mrunix.de mit?

Gruß,
Alexander

Bild von Markus Kohm

Ich hatte selbst in anderem Zusammenhang praktisch das gleiche Problem.

Wie ich gerade sehe, wird auf mrunix auch wild an der Kapitelüberschrift gebastelt. Mit KOMA-Script geht das eigentlich recht einfach:

\documentclass[chapterprefix]{scrbook}
\usepackage{graphicx}
\usepackage{blindtext}
 
% The chapter definition is very simple and would be even more simple
% if all headings would be centered.
\addtokomafont{chapter}{\renewcommand*{\raggedsection}{\centering}\centering}
\newlength{\chapterlength}
\renewcommand*{\chapterformat}{%
  \settowidth{\chapterlength}{\small\chapapp}%
  \rotatebox{90}{\small\chapapp}%
  \hspace{.333em}% some space after the verical text
  \resizebox{!}{\chapterlength}{\Huge\thechapter}%
}
 
% The section definition needs the knowledge, that \section uses \@sect
% from the LaTeX kernel and \@sect uses \@hangfrom to set the heading.
\makeatletter
\addtokomafont{section}{\renewcommand*{\raggedsection}{\centering}\centering
  \let\@hangfrom\relax% just deactivate \@hangfrom
}
\makeatother
\renewcommand*{\othersectionlevelsformat}[3]{%
  #3\autodot
  \ifstr{#1}{section}{\par\nopagebreak
    \settowidth{\chapterlength}{#3\autodot}%
    \addtolength{\chapterlength}{1em}%
    \rule[\ht\strutbox]{\chapterlength}{.4pt}\par\nopagebreak
    \vspace{-\ht\strutbox}\nopagebreak
  }{\enskip}%
}
 
\begin{document}
\tableofcontents
\blinddocument
\end{document}

Für die Kapitel kommt man mit einem häufig verwendeten Paket (graphicx) und dokumentierten KOMA-Script-Anweisungen und normalen LaTeX-Anweisungen aus. Man braucht noch nicht einmal \makeatletter o. ä. Erst bei den Abschnitten muss man ein wenig in die Trickkiste greifen, weil KOMA-Script die mit der in LaTeX vorgesehenen Anweisung \@startsection setzte, die wiederum \@sect für die nummerierten Überschriften verwendet. Darin wird die Nummer hängend mit \@hangfrom gesetzt, was man im Beispiel ja nicht haben will. Also wird lokal zusätzlich \@hangfrom ausgeschaltet.

Bei den Kapiteln müsste man übrigens streng genommen ebenfalls \nopagebreak einfügen, um Seitenumbrüche zu verhindern. Aufgrund der Position der Überschrift auf der Seite gehe ich aber einfach davon aus, dass es an der Stelle ohnehin keine Seitenumbrüche geben wird, und habe mir das deshalb erspart.

Hey, das ist ein genialer Umbau von section, der mir gerade recht kommt. Ich schreibe ein Gutachten mit scrreprt über eine ganze Reihe von notariellen Urkunden aus den fünfziger Jahren, die jeweils einen Abschnitt bekommen im Kapitel "Bestandsaufnahme". Ich habe gestern abend (es ist alles mal wieder eilig) überlegt, ob und wie ich die Abschnitts-Überschriften leicht hervorheben kann. So ist das _sehr_ kultiviert, yeah!

Im übrigen bin ich jetzt beim Diktieren und Schreiben -- nach drei Jahren Lehrzeit -- mit LaTeX und Lyx deutlich schneller beim Abfassen von Gutachten als meine Kollegen ohne.

Danke,
Gruß,
Alexander

Bild von Markus Kohm

Die Hackerei hier mit \addtokomafonty ist natürlich inzwischen überholt. Es gibt nun ja von \RedeclareSectionCommand bis \sectionlinesformat und den neuen Do-Hooks diverse Eingriffsmöglichkeiten.

Gleichzeitig bewirkt auch das Umdefinieren von othersectionlevels in der Regel nichts mehr. Stattdessen definiert man besser gleich \sectionformat um.

Bild von Markus Kohm

Mit KOMA-Script 3.01b funktioniert das Beispiel bei mir jetzt einwandfrei.

Comments for "Sprachumschaltung mit \selectlanguage{} und \captions... bei scrlttr2 geht wie?" abonnieren