我已经制作了我的第一个 tex 文本,以便测试如何在我的论文中使用它:
% !TEX TS-program = XeLaTeX
\documentclass[a4paper,draft]{article}
\usepackage{minted}
\usepackage[Greek,Latin]{ucharclasses}
% Language declaration
\usepackage{xltxtra}
\usepackage{polyglossia}
\setmainlanguage{greek}
\setotherlanguages{english}
\setTransitionsForGreek{\selectlanguage{greek}}{\selectlanguage{english}}
% Fonts
\usepackage{fontspec}
\setmainfont[Kerning=On,Mapping=tex-text]{Linux Libertine O}
\setmainfont{Times New Roman}
\setsansfont{Arial}
\newfontfamily\greekfont[Script=Greek]{Linux Libertine O}
\newfontfamily\greekfontsf[Script=Greek]{Linux Libertine O}
\title{My first document}
\date{2018-03-17}
\author{Dimitrios Desyllas}
\begin{document}
\maketitle
\newpage
\section{Πρώτο κεφάλαιο}
Καλημέρα Greece. This is an English paragraph
\subsection{Υποκεφάλαιο 1}
Στην Ελλάδα έχει ήλιο
\subsubsection{Υποκεφάλαιο }
Που καίει πολύ
\subsubsection{Υπουπόκεφάλαιο 1.1}
Πάρα πολύ
\subsection{Υποκεφάλαιο 2}
Στην Ελλάδα έχει θάλλασα
\section{Δεύτερο κεφάλαιο}
Όλα πάνε ρόδινα
\begin{english}
\begin{minted}{java}
import javax.swing.JApplet;
import java.awt.Graphics;
public class Hello extends JApplet {
public void paintComponent(Graphics g) {
g.drawString("Hello, world!", 65, 95);
}
}
\end{minted}
\end{english}
\end{document}
但在该部分:
\begin{english}
\begin{minted}{java}
import javax.swing.JApplet;
import java.awt.Graphics;
public class Hello extends JApplet {
public void paintComponent(Graphics g) {
g.drawString("Hello, world!", 65, 95);
}
}
\end{minted}
\end{english}
我收到以下错误:
! Package polyglossia Error: The current roman font does not contain the Greek
我该如何解决它?
答案1
不幸的是,错误信息具有误导性,因为它指的是“罗马字体”而不是单色字体。
\greekfonttt
添加选择支持希腊语的字体的声明。
\documentclass[a4paper,draft]{article}
\usepackage{minted}
\usepackage[Greek,Latin]{ucharclasses}
% Language declaration
\usepackage{polyglossia}
\setmainlanguage{greek}
\setotherlanguages{english}
\setTransitionsForGreek{\selectlanguage{greek}}{\selectlanguage{english}}
% Fonts
\usepackage{fontspec}
\setmainfont[Kerning=On,Mapping=tex-text]{Linux Libertine O}
\setmainfont{Times New Roman}
\setsansfont{Arial}
\newfontfamily\greekfont[Script=Greek]{Linux Libertine O}
\newfontfamily\greekfontsf[Script=Greek]{Linux Libertine O}
\title{My first document}
\date{2018-03-17}
\author{Dimitrios Desyllas}
\begin{document}
\maketitle
\newpage
\section{Πρώτο κεφάλαιο}
Καλημέρα Greece. This is an English paragraph
\subsection{Υποκεφάλαιο 1}
Στην Ελλάδα έχει ήλιο
\subsubsection{Υποκεφάλαιο }
Που καίει πολύ
\subsubsection{Υπουπόκεφάλαιο 1.1}
Πάρα πολύ
\subsection{Υποκεφάλαιο 2}
Στην Ελλάδα έχει θάλασσα
\section{Δεύτερο κεφάλαιο}
Όλα πάνε ρόδινα
\begin{english}
\begin{minted}{java}
import javax.swing.JApplet;
import java.awt.Graphics;
public class Hello extends JApplet {
public void paintComponent(Graphics g) {
g.drawString("Hello, world!", 65, 95);
}
}
\end{minted}
\end{english}
\end{document}
我删除了无用的部分,特别是加载xltxtra
和令人困惑的字体设置。