我正在用 XeLaTeX 编译此代码:
\documentclass[11pt]{article}
\usepackage{graphicx}
\begin{document}
This text is blurry if there is an image.
\includegraphics{Test.png}
\end{document}
我要包含的图像如下:
如果我注释掉\includesgraphics
,我会得到:
如果我不这样做,我会得到:
为什么屏幕上有图像时文本看起来不同(在我看来,更模糊)?
如何防止这种情况在 XeLaTeX 中发生?
答案1
该符号无需使用位图图像。它是 Unicode 字符 ☆:
U+2606 WHITE STAR
LuaTeX
即使使用粗体字体,符号通常也不会具有线条的粗细。这可以通过pdfrender
适用于 PDF 模式下的 pdfTeX/LuaTeX 的包来处理。示例:
\documentclass{article}
\usepackage{fontspec}
\usepackage{pdfrender}
\newcommand*{\mysymbfont}{%
\fontspec{\myfont}%
\fontsize{5em}{5em}\selectfont
}
\newcommand*{\textbigwhitestar}{^^^^2606}
\begin{document}
\tabcolsep=.2\tabcolsep
\begin{tabular}{llll}
\xdef\myfont{DejaVuSans-Bold.ttf}%
\texttt{\myfont}:
&
\mysymbfont
\textbigwhitestar
& \mysymbfont
\textpdfrender{
TextRenderingMode=Stroke,
LineJoinStyle=Round,
LineWidth=.5pt,
}{\textbigwhitestar}
& \mysymbfont
\textpdfrender{
TextRenderingMode=FillStroke,
LineJoinStyle=Round,
LineWidth=2pt,
}{\textbigwhitestar}
\\
\xdef\myfont{xits-math.otf}%
\texttt{\myfont}:
& \mysymbfont
\textbigwhitestar
& \mysymbfont
\textpdfrender{
TextRenderingMode=Stroke,
LineJoinStyle=Round,
LineWidth=.5pt,
}{\textbigwhitestar}
& \mysymbfont
\textpdfrender{
TextRenderingMode=FillStroke,
LineJoinStyle=Round,
LineWidth=1pt,
}{\textbigwhitestar}
\end{tabular}
\end{document}
特克斯
在 XeTeX 中,该符号可以作为 PDF 文件包含在内,通过 LuaTeX 生成,例如:
% whitestar-raw.tex for LuaLaTeX
\documentclass{article}
\usepackage{fontspec}
\usepackage{pdfrender}
\pagestyle{empty}
\begin{document}
\fontspec{DejaVuSans-Bold.ttf}
\fontsize{5em}{5em}\selectfont
\textpdfrender{
TextRenderingMode=FillStroke,
LineJoinStyle=Round,
LineWidth=2pt,
}{^^^^2606}
\end{document}
然后编译它并裁剪边距:
lualatex whitestar-raw
pdfcrop whitestar-raw.pdf whitestar.pdf
在 XeTeX 中,PDF 文件通过以下方式包含:
\includegraphics{whitestar}