Przejdź do treści

fontenc, inputenc, fontspec i pakiety fontów

inputenc i fontenc nie są potrzebne i są akceptowane bez efektu, ponieważ kod źródłowy jest zawsze odczytywany jako UTF-8. W zwykłych dokumentach fonty są ustalone na Latin Modern i New Computer Modern Math: \setmainfont z fontspec oraz pakiety takie jak times czy libertine są ignorowane, a działa tylko przełączenie na font bezszeryfowy za pomocą \familydefault (opcjonalnie z helvet).

Do czego służą pakiety

  • inputenc informuje pdfLaTeX, w jakim kodowaniu jest plik źródłowy. \usepackage[utf8]{inputenc} było potrzebne do wpisywanych znaków diakrytycznych przed 2018 rokiem; obecny LaTeX domyślnie odczytuje UTF-8.
  • fontenc wybiera kodowanie fontu. \usepackage[T1]{fontenc} daje pdfLaTeX fonty z wbudowanymi literami z akcentami, co poprawia dzielenie wyrazów i kopiowanie tekstu z PDF.
  • fontspec (XeLaTeX i LuaLaTeX) wczytuje dowolny zainstalowany font OpenType: \setmainfont{...}, \setsansfont{...}, \setmonofont{...}, \newfontfamily.
  • Pakiety fontów, takie jak lmodern, times, mathptmx, helvet, libertine czy newtxtext, przełączają dokumenty pdfLaTeX na inny krój pisma.

Co tu działa

FunkcjaW Scissor LaTeXUwagi
Kod źródłowy w UTF-8 z ä, é, ł, greką, cyrylicą, CJK ...DziałaZawsze, z inputenc lub bez niego.
\usepackage[utf8]{inputenc}, \usepackage[T1]{fontenc}, lmodernPomijaneAkceptowane; nie ma nic do zrobienia.
\renewcommand{\familydefault}{\sfdefault}DziałaTekst główny w Latin Modern Sans.
helvet lub tgheros z powyższym wierszemDziałaFont bezszeryfowy TeX Gyre Heros, podobny do Helvetiki.
sfmathDziałaWzory fontem bezszeryfowym.
\texttt{...}, \ttfamilyDziałaLatin Modern Mono.
\textbf, \textit, \emphDziała
\textsc{...}CzęściowoW domyślnym foncie Latin Modern zwykłe litery. Z helvet i w układach konferencyjnych (poza LNCS, który używa Latin Modern) prawdziwe kapitaliki.
\textsf{...}, \sffamily wewnątrz tekstuPomijaneTekst pozostaje szeryfowy.
fontspec: \setmainfont, \setsansfont, \setmonofontPomijaneAkceptowane w preambule, bez efektu.
\newfontfamily\name{Font}NieobsługiwanePomijane z komunikatem, a nazwa fontu jest wypisywana.
times, mathptmx, palatino, libertine, newtxtext, charter ...PomijaneTekst pozostaje w Latin Modern.
\fontsize{14}{16}\selectfontDziałaNajbliższy z typowych rozmiarów od 5 do 144 pt; interlinia podąża za rozmiarem.
\fontfamily{...}\selectfontPomijaneBez komunikatu; tekst zachowuje swój font.
\small, \large, \Huge ...DziałaPoza układami konferencyjnymi i czasopism, które zachowują własne rozmiary.
unicode-math: \setmathfontPomijaneFont matematyczny pozostaje New Computer Modern Math.
unicode-math: \symbf, \symit we wzorzeNieobsługiwaneWzór jest pokazywany na czerwono. Użyj \mathbf, \boldsymbol lub bm.

Rozmiar fontu tekstu głównego wynika z opcji klasy (10pt, 11pt lub 12pt); zobacz Układ strony.

Przykłady

Wiersze preambuły, od których zaczyna się wiele dokumentów, są akceptowane i niczego nie zmieniają; wpisane znaki diakrytyczne działają w obu przypadkach:

inputenc, fontenc i lmodern są akceptowane

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\begin{document}
Hans Mustermann bestellt Crème brûlée, Smørrebrød und Pierogi z
kapustą. \texttt{Monospaced}, \textbf{bold} and \textit{italic}
work as usual.
\end{document}
Złożone przez Scissor LaTeX: inputenc, fontenc i lmodern są akceptowane

fontspec wczytuje się bez błędów, ale tekst pozostaje w Latin Modern:

\setmainfont nie ma efektu

\documentclass{article}
\usepackage{fontspec}
\setmainfont{TeX Gyre Pagella}
\begin{document}
This paragraph would be set in Pagella by XeLaTeX or LuaLaTeX.
Here it stays in Latin Modern, the default font.
\end{document}
Złożone przez Scissor LaTeX: \setmainfont nie ma efektu

Jedyne działające przełączenie fontu: cały dokument fontem bezszeryfowym.

Font bezszeryfowy z \familydefault i sfmath

\documentclass{article}
\usepackage{helvet}
\usepackage{sfmath}
\renewcommand{\familydefault}{\sfdefault}
\begin{document}
\section{Results}
John Doe measured $v = 44\,\mathrm{m/s}$, which matches the
estimate $v \approx \sqrt{2 g h}$.
\end{document}

Zgodność

  • Z instalacji TeX do Scissor LaTeX: tekst i wzory zostają zachowane, w Latin Modern. Fonty ustawione za pomocą fontspec lub pakietów fontów nie są używane, a dokumenty napisane dla XeLaTeX składają się bez zmian.
  • Ze Scissor LaTeX do instalacji TeX: dokumenty kompilują się w pdfLaTeX, XeLaTeX lub LuaLaTeX, zależnie od tego, czego wymagają ich pakiety, a wybrane fonty są wtedy stosowane.

Pełne dokumentacje są dostępne w CTAN: fontspec, fontenc, inputenc oraz unicode-math. Zobacz też Inne języki i fonty.

Pytania i odpowiedzi

Czy potrzebuję \usepackage[utf8]{inputenc}?

Tutaj nie: kod źródłowy jest zawsze odczytywany jako UTF-8. Zostawienie tego wiersza nie szkodzi, a starsze instalacje TeX nadal go potrzebują.

Jak używać Times New Roman lub Arial?

Nie w zwykłym dokumencie. Fontem tekstu jest Latin Modern; jedyne przełączenie to font bezszeryfowy za pomocą \renewcommand{\familydefault}{\sfdefault}, które z \usepackage{helvet} daje TeX Gyre Heros, font podobny do Helvetiki. Szablony konferencyjne mają własne fonty: większość z nich TeX Gyre Termes (podobny do Times), a ACM Libertinus.

Czy fontspec działa w Scissor LaTeX?

Wczytuje się bez błędów, więc dokumenty XeLaTeX się otwierają i składają, ale \setmainfont i pozostałe ustawienia fontów są ignorowane.

Każdy przykład na tej stronie jest składany przez Scissor LaTeX podczas budowania witryny. Ostatnia aktualizacja: 2026-11-07.