为什么目录包含自定义 latex 命令?

为什么目录包含自定义 latex 命令?

我正在使用 Xelatex 编写 UTF-8(马拉雅拉姆语)文档。

下面显示的是我的示例 Latex 代码。如果您看到(屏幕截图)生成的目录,您可以看到Noto Sans Malayalam 这是因为我必须使用自定义\noto命令输入 UTF-8 文本\def\noto{\fontspec{Noto Sans Malayalam}}

你知道如何删除Noto Sans Malayalam我的 PDF 目录中不需要的文本吗?

在此处输入图片描述

% xelatex test.tex 

\documentclass[a4paper,12pt]{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{tocloft}
\usepackage{hyperref}

\def\noto{\fontspec{Noto Sans Malayalam}}

\title{A title}

\begin{document}

\pagenumbering{arabic}
\renewcommand{\contentsname}{Contents \\ {\noto ഉളളടക്കം }}
\tableofcontents
\newpage

\section{Malayalam  \\ \noto{ മലയാളം } }

Malayalam \\ {\noto മലയാളം}
\newpage

\section{English  \\ \noto{ ഇംഗ്ലീഷ് }            }

English \\ {\noto ഇംഗ്ലീഷ്}

\end{document}

答案1

.pdf文件无法\noto正确解释命令和字体规范bookmarks

使用\texorpdfstring{\fontspec{...}}{}

\\我也删除了“错误”的用法。

Noto 字体可以从以下网址下载https://www.google.com/get/noto/

\documentclass[a4paper,12pt]{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{tocloft}
\usepackage{hyperref}

\DeclareRobustCommand{\noto}{\texorpdfstring{\fontspec{Noto Sans Malayalam}}{}}

\title{A title}

\begin{document}

\pagenumbering{arabic}
\renewcommand{\contentsname}{Contents \\ {\noto ഉളളടക്കം }}
\tableofcontents
\newpage

\section{Malayalam  \noto{ മലയാളം } }

Malayalam 

 {\noto മലയാളം}

\clearpage
\section{English   \noto{ ഇംഗ്ലീഷ് }            }

English 

{\noto ഇംഗ്ലീഷ്}

\end{document}

在此处输入图片描述

答案2

您不想在书签中看到它们\\\noto最简单的解决方案是使用命令来获取章节标题:

\documentclass[a4paper,12pt]{article}

\usepackage{fontspec}
\usepackage{polyglossia}
\usepackage{tocloft}
\usepackage{hyperref}

\newfontfamily\noto{Malayalam MN} % I don't have Noto
\newcommand{\nototitle}[1]{%
  \texorpdfstring{\\{\noto #1}}{#1}%
}

\title{A title}

\begin{document}

\pagenumbering{arabic}
\renewcommand{\contentsname}{Contents \\[1ex] {\noto ഉളളടക്കം}}

\tableofcontents
\newpage

\section{Malayalam\nototitle{മലയാളം}}

Malayalam \\ {\noto മലയാളം}
\newpage

\section{English\nototitle{ഇംഗ്ലീഷ്}}

English \\ {\noto ഇംഗ്ലീഷ്}

\end{document}

不要\fontspec在文档正文中使用;\newfontface在序言中一劳永逸地使用效率更高。

在此处输入图片描述

相关内容