Seite 1 von 2

changefont = Blocksatz weg! Hilfe

Verfasst: Sa 8. Feb 2014, 19:12
von texla
Moin!

Ich bin mit dem Standardschriftsatz zufrieden und der Blocksatz wird soweit richtig dargestellt. Nun möchte ich für eine längere Textstelle den Schrifttyp andern.

Habe hierzu in der Datei, in der der Seitenstil festgelegt wird, folgenden Code hinzugefügt (wie gegoogelt):
\newcommand{\changefont}[3]{\fontfamily{#1}\fontseries{#2}\fontshape{#3}\selectfont}
und zwar direkt hinter
\usepackage[T1]{fontenc}
Nun bin ich zu meiner Textstelle gegangen (in einem separaten File abgelegt) und habe sie wie folgt "umrahmt":

{\changefont{cmtt}{m}{n}{\small Hier steht mein mehrere Absätze umfassender Text.}}

In der pdf-Darstellung ist auch korrekterweise die Textpassage in meinem gewählten Schriftsatz mit passender Größe dargestellt. Nur leider: Der Blocksatz ist futsch. Es gibt keine Silbentrennung mehr und der Text läuft über den eigentlichen Textrand rechts hinaus und ist rechts noch nicht einmal mehr bündig. Hinter der betreffenden Textpassage ist alles wieder ok.

Mein Stildokument schaut so aus:
\usepackage{typearea} % Definition des Satzspiegels
\areaset[1cm]{135mm}{200mm}
\linespread{1.0194}\selectfont
\usepackage{scrpage2}

%\usepackage{microtype}

\usepackage[english,ngerman]{babel} 
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\newcommand{\changefont}[3]{\fontfamily{#1}\fontseries{#2}\fontshape{#3}\selectfont}

\usepackage{array}
\usepackage{graphicx} %zum Einbinden der Graphiken
\usepackage{longtable} %für Tabellen, die länger als eine Seite sind
\usepackage{numprint} %zur Darstellung von Zahlen
\usepackage{textcomp} %zusätzliche Zeichen
\usepackage{amsmath} %zusätzliche mathematische Zeichen
\usepackage{amssymb} %zusätzliche mathematische Symbole
\usepackage{multicol}
\usepackage{nicefrac} %Brüche mit schrägem Bruchstrich
\usepackage{upgreek} %aufrechte griechische Buchstaben
\usepackage{ulem}
\usepackage{tabularx}
\usepackage{setspace}\usepackage{threeparttable}
\usepackage{courier}

hier kommen noch ein paar Anweisungen zu Auflistungen

  \renewcommand{\floatpagefraction}{1} %Maximaler Bildanteil pro Seite (1=100%)
  \renewcommand{\textfraction}{0} %Minimaler Textanteil pro Seite
\renewcommand{\topfraction}{1}    
  \renewcommand{\bottomfraction}{1}  

%  %Inhaltsverzeichnis anpassen
%  %Erste Klammer: Einzug der Nummerierung, zweite Klammer: zusätzlicher Einzug des Textes 
%   \makeatletter 
%    \renewcommand{\l@section}{\@dottedtocline{2}{0em}{5.3em}}
%    \renewcommand{\l@subsection}{\@dottedtocline{2}{1em}{4.3em}}
%    \renewcommand{\l@subsubsection}{\@dottedtocline{2}{2em}{3.3em}}
%  \makeatother


% Verwendete Schriften und Auszeichnungen der Standardelemente

\usepackage{mathptmx}
\setkomafont{sectioning}{%
\normalfont\bfseries
}
\setkomafont{caption}{\small}
\setkomafont{pagehead}{\normalfont\small}

\newcommand*{\appendixmore}{\small} 

\setcapindent{0cm} %kein Einzug bei Tabellen- und Bildunterschriften
Was ist falsch und wie bekomme ich es hin, auch hier die richtige Silbentrennung und Blocksatz zu erhalten?

Verfasst: Sa 8. Feb 2014, 19:21
von Beinschuss
Erstelle bitte ein lauffähiges Minimalbeispiel, mit dem potentielle Helfer den Fehler reproduzieren können. Wie das geht, steht hier: http://www.golatex.de/wiki/Minimalbeispiel. Evtl. findest Du hierbei den Fehler selber.

Für Dich sinnvoll wäre wohl auch die Lektüre von http://www.golatex.de/minimale-vorlagen ... 10780.html.

Viele Grüße

Helmut

Verfasst: Sa 8. Feb 2014, 19:23
von u_fischer
Schreibmaschinenschriften wie cmtt eignen sich eigentlich nicht für Blocksatz, da dort alle Zeichen (auch die Leerzeichen) gleiche Breite haben.

Überdenke also die Schriftwahl.

Verfasst: Sa 8. Feb 2014, 19:50
von texla
Hier das Minimalstbeispiel.
\documentclass[10pt, a4, cleardoubleempty, headinclude,
normalheadings, tablecaptionabove, pointlessnumbers, bibtotoc]{scrbook}

\usepackage{typearea} % Definition des Satzspiegels
\areaset[1cm]{135mm}{200mm}
\linespread{1.0194}\selectfont
\usepackage{scrpage2}

%\usepackage{microtype}

\usepackage[english,ngerman]{babel} 
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\newcommand{\changefont}[3]{\fontfamily{#1}\fontseries{#2}\fontshape{#3}\selectfont}

\begin{document} %Beginn des eigentlichen Textes

Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. 

Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. 

\

{\changefont{cmtt}{m}{n}{\small Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch! Hier ist echt was falsch!  }}

\

Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. Das ist ein Test. 


\end{document}


Man sieht gut, dass es falsch läuft. Ich verstehe natürlich auch, dass bei einer Maschinenschrift der Blocksatz nicht richtig funktioniert, aber warum macht es mir das nicht einfach linksbündig?

EDIT: Also eine Schriftart mit nicht festen Zwischenräumen löst das Problem (zumindest optisch, obwohl mir TexMakerX immer noch underfull hbox Fehler anzeigt). Ich hätte dennoch gerne eine Courier Schrift. Gibt es eine mit flexiblen Leerzeichen und wie stelle ich es an?

Verfasst: Sa 8. Feb 2014, 20:38
von Studi
Da in den Rand geschrieben wird, kann das helfen: Wie kann ich verhindern, dass Wörter über den Rand stehen? Speziell hier hilft Herberts Tipp mit einem Wert ab 1.7 em.

Man kriegt übrigens auch Schreibmaschinenschriften in Blocksatz, wenn man die Abstände variabel erlaubt - also Schriftart mit dem typischen Terminal-Feeling, wenn diese visuelle Aussage bereits reicht, nur im Blocksatz statt im starren Raster.

Studi

Verfasst: Sa 8. Feb 2014, 20:44
von Felix
texla hat geschrieben:Ich hätte dennoch gerne eine Courier Schrift. Gibt es eine mit flexiblen Leerzeichen und wie stelle ich es an?
Hier findet sich sowas: Full justification with typewriter font.

Felix

Verfasst: Sa 8. Feb 2014, 21:31
von Beinschuss
Mit XeTeX lässt sich eine Schrift mit festen Breiten, die als Systemschrift auf Deinem Rechner installiert sein muss, schon im Blocksatz setzen (obwohl es überhaupt nicht schön aussieht):
\documentclass{scrbook} 
\usepackage{fontspec}
\setmainfont[Scale=1,Mapping=tex-text]{Liberation Serif}
\setmonofont[Scale=1,Mapping=tex-text]{Courier New}
\usepackage{blindtext}

\begin{document} 
\ttfamily
\blindtext

\rmfamily
\blindtext

\end{document}
Was bezweckst Du damit, eine Schreibmaschinenschrift im Blocksatz setzen zu wollen?

Helmut

Verfasst: Sa 8. Feb 2014, 21:59
von texla
Leider will ich nur einen bestimmten Abschnitt in Courier haben. Und ich weiß nicht, wie ich es bewerkstellige.

Felix' Vorschlag bewirkt zwar, dass dann tatsächlich der Maschinenschriftsatz im Blocksatz ist, allerdings leider ist dann mein ganzer Text in diesem Stil. Und genau das will ich nicht haben.

Ich bezwecke damit, zum einen eine Textpassage optisch abzuheben, zum anderen ihm einen etwas antiquierten Anstrich zu geben.

Verfasst: Sa 8. Feb 2014, 23:09
von u_fischer
zum anderen ihm einen etwas antiquierten Anstrich zu geben
Dafür ist Blocksatz aber eher nicht geeignet. Setze den Text mit \raggedright.

Verfasst: Sa 8. Feb 2014, 23:31
von texla
Funktioniert aber auch nicht gut. Auch da schreibt es mir über die Ränder hinaus :(