我对 LaTeX 还很陌生,想使用此处的 OVERLEAF.com 模板: https://www.overleaf.com/latex/templates/book-design-inspired-by-edward-tufte/gcfbtdjfqdjh
我正在使用 MiKTeX。
我正在尝试将这个名字写入我的书中:一行禅师
但尚未成功。
我尝试通过包含以下包来修改模板:
\usepackage[utf8]{inputenc}
\usepackage{ucs}
但我仍然收到错误:
> Undefined control sequence. Thích Nhấ
我希望有一个简单的解决方法。欢迎任何提示、答案和建议!
感谢您建议添加: \usepackage[T1]{fontenc}
这些是添加该包导致的错误:
Unicode character ạ (U+1EA1) not set up for use with LaTeX. Thích Nhất Hạ
Unicode character ấ (U+1EA5) not set up for use with LaTeX. Thích Nhấ
我尝试了下面的字体替换方法。结果出现了以下错误:
pdfTeX error (font): invalid font identifier. \begin{document}
Font \T5/mdugm/m/n/10=nullfont not loadable: Metric (TFM) file not found. \begin{document}
Font T5/EBGaramond-OsF/m/n/10=ugmr8v at 10.0pt not loadable: Metric (TFM) file not found. \begin{document}
这是我的 MWE:
\documentclass{tufte-book}
\hypersetup{colorlinks}
\title{A Tufte-Style Book\thanks{Thanks to Edward R.~Tufte for his inspiration.}}
\author[The Tufte-LaTeX Developers]{The Tufte-LaTeX\ Developers}
\publisher{Publisher of This Book}
\usepackage{ebgaramond}
\usepackage{xcolor}
\usepackage{amssymb,amsmath}
\usepackage{todonotes}
\usepackage{tikz}
\usepackage{pgfplots}
\usepackage{listings}
\usepackage{spreadtab}
\usepackage[toc,page]{appendix}
\usepackage{epspdfconversion}
\usepackage[toc]{glossaries}
\usepackage{multirow}
\usepackage[utf8]{inputenc}
\usepackage{ucs}
\usepackage{microtype}
\usepackage{lipsum}
\usepackage{booktabs}
\usepackage{graphicx}
\setkeys{Gin}{width=\linewidth,totalheight=\textheight,keepaspectratio}
\graphicspath{{graphics/}}
\usepackage{fancyvrb}
\fvset{fontsize=\normalsize}
\usepackage{units}
\providecommand{\XeLaTeX}{X\lower.5ex\hbox{\kern-0.15em\reflectbox{E}}\kern-0.1em\LaTeX}
\usepackage{makeidx}
\usepackage[T5,T1]{fontenc}
\usepackage[english]{babel}
\usepackage{mathdesign}
\DeclareFontFamilySubstitution{T5}{\familydefault}{mdugm}
\newcommand{\vietnamese}{\fontencoding{T5}\selectfont}
\DeclareTextFontCommand{\textvietnamese}{\vietnamese}
\begin{document}
This is English text, the Vietnamese name
\textvietnamese{Thích Nhất Hạnh} prints as well.
\end{document}
答案1
我们经常使用
\usepackage[utf8]{vietnam}
用于在 LaTeX 中输入越南语(我是越南人)。
希望这可以帮助!
\documentclass{tufte-book}
\title{A Tufte-Style Book\thanks{Thanks to Edward R.~Tufte for his inspiration.}}
\author[The Tufte-LaTeX Developers]{The Tufte-LaTeX\ Developers}
\publisher{Publisher of This Book}
\usepackage[utf8]{vietnam}
\begin{document}
Thích Nhất Hạnh
\end{document}
答案2
\usepackage{ucs}
永远不是答案。您需要的是使用 T5(越南语)编码来表示名称。EB-Garamond 字体不支持越南语,但 Garamond 有一个实现支持越南语,即mathdesign
's,而且效果似乎还不错。
在下面的示例代码中我只保留了必要的位。
\documentclass{tufte-book}
\usepackage[T5,T1]{fontenc}
\usepackage[english]{babel}
\usepackage{ebgaramond}
% there is no support of EB-Garamond to Vietnamese
% but `vntex` provides a Garamond font based on mathdesign
\DeclareFontFamilySubstitution{T5}{\familydefault}{mdugm}
% define commands to switch to the Vietnamese encoding
\newcommand{\vietnamese}{\fontencoding{T5}\selectfont}
\DeclareTextFontCommand{\textvietnamese}{\vietnamese}
\begin{document}
This is English text, the Vietnamese name
\textvietnamese{Thích Nhất Hạnh} prints as well.
\end{document}
如果您想切换到 XeLaTeX,它会更简单,而且口音会更好。
\documentclass{tufte-book}
\usepackage[english]{babel}
\usepackage{ebgaramond}
\begin{document}
This is English text, the Vietnamese name
Thích Nhất Hạnh prints as well.
\end{document}
答案3
我强烈建议您 (a) 切换到 XeLaTeX 或 LuaLaTeX — 如果您想继续使用该软件包,您可能应该选择 LuaLaTeX — 以及 (b) 使用已设置越南语字形的文本字体。目前有许多这样的 OpenType 字体。我对和microtype
有很好的经验;这两种字体都可以从 Google 免费下载。可能是无衬线文本的合适选择。Noto Serif
Noto Sans
Calibri
\documentclass{tufte-book}
\usepackage[vietnamese,english]{babel}
\usepackage{fontspec}
\setmainfont{Noto Serif}
\setsansfont{Noto Sans}
\newcommand{\blurb}{The Vietnamese name Thích Nhất Hạnh prints as well.}
\begin{document}
\blurb
\sffamily
\blurb
\setsansfont{Calibri}[Scale=MatchLowercase]
\sffamily
\blurb
\end{document}
答案4
好吧,经过大量的反复试验以及从两个不同的线程(这个线程和这个线程)剪切和粘贴代码片段后:如何使用样式文件中定义的字体临时输入不同的文本?),我很幸运地偶然发现了这个解决方案。尽管它看起来并不那么好,但它确实有效。它会导致警告,即未找到 ebgaramond 并进行了替换,但没有错误!感谢您的所有帮助和建议!
\documentclass{tufte-book}
\usepackage[T5,T1]{fontenc}
\usepackage[english]{babel}
\usepackage{ebgaramond}
\newenvironment{myfont}[2][]{\csname#2\endcsname[#1]}{}% ENVIRONMENT FOR NEW FONT
\newcommand\fontsub[3][]{\begin{myfont}[#1]{#2}#3\end{myfont}}
\newcommand{\Gmd}[1][]{\fontfamily{ebgaramond}#1\selectfont}
\DeclareFontFamilySubstitution{T5}{\familydefault}{ebgaramond}
% define commands to switch to the Vietnamese encoding:
\newcommand{\vietnamese}{\fontencoding{T5}\selectfont}
\DeclareTextFontCommand{\textvietnamese}{\vietnamese}
\begin{document}
Original font \fontsub[\fontsize{10}{16}]{Gmd}{\textvietnamese{Thích Nhất Hạnh}} returned to original font.
\end{document}