一行禅师在 LaTeX tufte-book 课堂上

一行禅师在 LaTeX tufte-book 课堂上

我对 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 SerifNoto SansCalibri

在此处输入图片描述

\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}

相关内容