背景:«» 是英语引号“”的希腊对应词。
目标:能够写入"quote"
我的.tex 文件并拥有韓萊特将其渲染为«quote»
。
对我来说失败的最小测试用例:取自此处
\documentclass[twoside,a4paper, 12pt]{article}
\usepackage{fontspec}
\defaultfontfeatures{Mapping=tex-text,Ligatures=TeX}
\setmainfont{Times New Roman}
\newfontfamily\greekfont[Script=Greek]{Times New Roman}
\usepackage{polyglossia}
\setdefaultlanguage{greek}
\setotherlanguage{english}
\begin{document}
Outside ``english'' environment --
\begin{english}
``Quotes'' -- inside english environment
\end{english}
\begin{greek}
``Ελληνικό'' -- περιβάλλον
\end{greek}
``Ελληνικά''
\end{document}
输出:
系统规格:
% xelatex --version
XeTeX 3.1415926-2.6-0.9999.3 (TeX Live 2014/dev)
kpathsea version 6.2.0dev
( ... snip ... )
Compiled with ICU version 50.1.2; using 50.1.2
Compiled with zlib version 1.2.8; using 1.2.8
Compiled with FreeType2 version 2.5.0; using 2.4.12
Compiled with Graphite2 version 1.2.2; using 1.2.2
Compiled with HarfBuzz version 0.9.27; using 0.9.27
Compiled with fontconfig version 2.11.0; using 2.11.0
Compiled with libpng version 1.6.3; using 1.6.6
Compiled with poppler version 0.24.3
笔记:我已经知道我可以将它们作为 Unicode 字符插入,但我希望能够使用“ ”:)
答案1
使用csquotes
包。但我不会:使用真实的您想看到的引文。
\documentclass[twoside,a4paper, 12pt]{article}
\usepackage{fontspec}
\usepackage{polyglossia}
\defaultfontfeatures{Ligatures=TeX}
\setmainfont{Times New Roman}
\newfontfamily\greekfont[Script=Greek]{Times New Roman}
\setmainlanguage{greek}
\setotherlanguage{english}
\usepackage[autostyle,english=american]{csquotes}
\MakeOuterQuote{"}
\begin{document}
Outside "english" environment --
\begin{english}
"Quotes" -- inside english environment
\end{english}
\begin{greek}
"Ελληνικό" -- περιβάλλον
\end{greek}
"Ελληνικά"
\end{document}
当然,如果您希望 LaTeX 根据文本猜测要使用的引号,那您的要求就太多了:LaTeX 不能读取,也不真正了解语言,它只是遵循指令。