Anzeige:
Ergebnis 1 bis 7 von 7

Thema: Kyrillisch und Deutsch/Englisch - lmr und cmr - T1 und T2A

  1. #1
    Registrierter Benutzer
    Registriert seit
    05.12.2011
    Beiträge
    42

    Kyrillisch und Deutsch/Englisch - lmr und cmr - T1 und T2A

    Hallo!


    Mit folgendem Code habe ich ein kleines Problem:

    Code:
    \documentclass{article}
    
    \usepackage[T2A,T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[utf8]{inputenc}
    
    \usepackage[russian,ngerman,english]{babel}
    
    \begin{document}
    
    	English text.
    	
    	{\begin{otherlanguage}{ngerman}
    	Deutscher Text. Ä Ö Ü ä ö ü ß.
    	\end{otherlanguage}}
    	
    	{\begin{otherlanguage}{russian}\usefont{T2A}{cmr}{m}{n}
    	Русский текст.
    	\end{otherlanguage}}
    
    \end{document}
    Dabei bekomme ich die zwei Warnungen
    Code:
    LaTeX Font Warning: Font shape 'T2A/lmr/m/n' undefined
    (Font)              using 'T2A/cmr/m/n' instead on input line 17.
    Some font shapes were not available, defaults substituted.
    Um die Warnung zu unterdrücken, habe ich extra \usefont{T2A}{cmr}{m}{n} in den Code eingefügt, wieso kommt die Warnung trotzdem?
    Wegen diverser Gründe würde ich gerne bei lmodern bleiben und cm (bzw. cm-super) nur für ein paar russische Wörter verwenden.


    Besten Dank im Voraus,
    Thesis

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Ignorier die Warnung doch einfach. Die Substitution ist doch in Ordnung.

  3. #3
    Registrierter Benutzer
    Registriert seit
    05.12.2011
    Beiträge
    42
    Sehr geehrte Frau Fischer,


    Vielen Dank für Ihre Antwort.
    Wieso erscheint aber die Fehlermeldung? Die manuelle Substitution scheint zu funktionieren, siehe

    Code:
    \documentclass{article}
    
    \usepackage[T2A,T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[utf8]{inputenc}
    
    \usepackage[russian,ngerman,english]{babel}
    
    \begin{document}
    
    	English text.
    	
    	{\begin{otherlanguage}{ngerman}
    	Deutscher Text. Ä Ö Ü ä ö ü ß.
    	\end{otherlanguage}}
    	
    % Referenz
    	{\begin{otherlanguage}{russian}\usefont{T2A}{lmr}{m}{n}
    	Русский текст.
    	\end{otherlanguage}}
    	
    % Keine Veränderung
    	{\begin{otherlanguage}{russian}\usefont{T2A}{lmr}{bx}{it}
    	Русский текст.
    	\end{otherlanguage}}
    	
    % Keine Veränderung
    	{\begin{otherlanguage}{russian}\usefont{T2A}{cmr}{m}{n}
    	Русский текст.
    	\end{otherlanguage}}
    	
    % Fett und kursiv, wie gewünscht
    	{\begin{otherlanguage}{russian}\usefont{T2A}{cmr}{bx}{it}
    	Русский текст.
    	\end{otherlanguage}}
    
    \end{document}
    Ist das ein Bug in MiKTeX?


    Vielen Dank im Voraus,
    Thesis
    Geändert von Thesis (04-11-2014 um 18:27 Uhr)

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Nein, es ist kein Bug. Es ist noch nichtmal ein Fehler. LaTeX hat ein ziemlich ausgefeiltes "Fallback"-System bei Schriften, ersetzt fehlende durch andere und informiert dich über die Änderung. Du musst solche Warnungen nur beachten, wenn dir der Ersatz nicht passt. Aber in diesem Fall wird doch genau die richtige Ersatzschrift (T2A/cmr/m/n) benutzt.

  5. #5
    Registrierter Benutzer
    Registriert seit
    05.12.2011
    Beiträge
    42
    Hallo Frau Fischer,


    Mich hat einfach nur die Warnung irritiert, die auftrat, obwohl ich LaTeX explizit anwies, {T2A}{cmr}{m}{n} (bzw. {T2A}{cmr}{bx}{it}) zu verwenden.

    Es hat sich herausgestellt, dass dies mit babel zusammenhängt, wie folgender Code beweist:
    Code:
    \documentclass{article}
    
    \usepackage[T2A,T1]{fontenc}
    \usepackage{lmodern}
    \usepackage[utf8]{inputenc}
    
    \usepackage[russian,ngerman,english]{babel}
    
    \begin{document}
    
    	\noindent%
    	English text.\\
    	
    	\noindent%
    	{\begin{otherlanguage}{ngerman}Deutscher Text. Ä Ö Ü ä ö ü ß.\end{otherlanguage}}\\
    	
    	% {m}{n}
    	% =======================================================================================================
    	\noindent%
    	{\usefont{T2A}{cmr}{m}{n}\foreignlanguage{russian}{Русский текст. 1/6}}\\                       % Keine Warnung
    	%{\foreignlanguage{russian}{\usefont{T2A}{cmr}{m}{n}Русский текст. 3/6}}\\                       % Warnung
    	%{\usefont{T2A}{cmr}{m}{n}\selectlanguage{russian}{Русский текст. 2/6}}\\                        % Warnung
    	%{\selectlanguage{russian}{\usefont{T2A}{cmr}{m}{n}Русский текст. 4/6}}\\                        % Warnung
    	%{\begin{otherlanguage}{russian}\usefont{T2A}{cmr}{m}{n}Русский текст. 5/6\end{otherlanguage}}\\ % Warnung
    	%{\usefont{T2A}{cmr}{m}{n}\begin{otherlanguage}{russian}Русский текст. 6/6\end{otherlanguage}}\\ % Warnung
    	
    	% {bx}{it}
    	% =======================================================================================================
    	\noindent%
    	{\usefont{T2A}{cmr}{bx}{it}\foreignlanguage{russian}{Русский текст. 1/6}}\\                       % Keine Warnung
    	%{\foreignlanguage{russian}{\usefont{T2A}{cmr}{bx}{it}Русский текст. 3/6}}\\                       % Warnung
    	%{\usefont{T2A}{cmr}{bx}{it}\selectlanguage{russian}{Русский текст. 2/6}}\\                        % Warnung
    	%{\selectlanguage{russian}{\usefont{T2A}{cmr}{bx}{it}Русский текст. 4/6}}\\                        % Warnung
    	%{\begin{otherlanguage}{russian}\usefont{T2A}{cmr}{bx}{it}Русский текст. 5/6\end{otherlanguage}}\\ % Warnung
    	%{\usefont{T2A}{cmr}{bx}{it}\begin{otherlanguage}{russian}Русский текст. 6/6\end{otherlanguage}}\\ % Warnung
    	
    \end{document}
    Mit meiner Lösung bin ich zufrieden.
    Dies mag aber für jemanden unbefriedigend sein, der nicht den \foreignlanguage-Befehl, sondern einen anderen (\selectlanguage oder \begin{otherlanguage} ... \end{otherlanguage}) zur Sprachumschaltung benutzen möchte bzw. muss. Diese Personen müssten wahrscheinlich versuchen, den font shape/encoding default für die Zweitsprache umzustellen.


    Besten Dank,
    Viele Grüße, Thesis

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.05.2009
    Beiträge
    4.045
    Mich hat einfach nur die Warnung irritiert, die auftrat, obwohl ich LaTeX explizit anwies, {T2A}{cmr}{m}{n} (bzw. {T2A}{cmr}{bx}{it}) zu verwenden.
    Du bist halt zu spät. otherlanguage stellt bereits auf T2A/lmr um, und dann latex auf T2A/cmr. Dein erster \usefont-Befehl ist somit komplett nutzlos, weil er nur die Schrift aufruft, die sowieso aktiv wird -- und solltest du später mal auf eine andere Dokumentenschrift mit kyrillisch umstellen, sind solche Befehle schädlich.

    Diese Personen müssten wahrscheinlich versuchen, den font shape/encoding default für die Zweitsprache umzustellen.
    Nur wenn Sie wie du so panisch auf einfache, korrekte Substitutionsmeldungen reagieren.

    Aber wenn du unbedingt die harmlose Warnung vermeiden willst, dann mache es mit (hinter babel):

    Code:
    \usepackage{etoolbox}
    \preto\extrasrussian{\fontfamily{cmr}}

  7. #7
    Registrierter Benutzer
    Registriert seit
    05.12.2011
    Beiträge
    42
    Hallo Frau Fischer,
    Besten Dank für Ihre Antwort und die Tipps.
    Viele Grüße, Thesis

Stichworte

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •