
我想用Adobe Times Roman 字體或其等效版本(如 URW Nimbus Roman 和基於它的字體),編譯為pdflatex
PDF - 最初的目的是透過使用內建字體使 PDF 更小。相關文件為波蘭語,並使用 UTF-8 輸入編碼。我希望 PDF 是可複製貼上和結果為 UTF-8,適用於羅馬系列和打字機系列(用於代碼列表)。
不幸的是,這兩個解決方案都沒有使 pdflatex 輸出可複製和貼上的好方法是什麼?有效,至少不能作為\usepackage{times}
切換到類似羅馬字體的方法。
舉一個範例文件:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{times}
%\usepackage{lmodern}
\input glyphtounicode
\pdfgentounicode=1
%\usepackage{cmap}
\begin{document}
\noindent
\rmfamily
rmfamily: zażółć gęsią jaźń \\
\ttfamily
ttfamily: zażółć gęsią jaźń \\
\end{document}
結果並不像下面那樣是一堆無法辨識的混亂符號無法從我的 PDF 複製貼上。知道為什麼嗎?,但是一些波蘭語字符以一種奇怪的方式複製,就像預先組合的一樣:基本字符和重音(裝飾)分開......並且它們中的任何一個都可以超出文本流。
對於範例文檔,pdftotext
結果(以及複製貼上結果)為:
˙ ce ˛ z´ rmfamily: zazół´ g˛ sia ja´ n ttfamily: za˙ół´ g˛sia ja´´ zce ˛ 鋅 1
如果我從 切換times
到lmodern
(拉丁現代字體),大概在切換到 時cm-super
我會得到正確的結果:
rmfamily: zażółć gęsią jaźń ttfamily: zażółć gęsią jaźń 1
答案1
您可以使用 Times 字體TeX Gyre Termes
:
\documentclass{article}
\usepackage{tgtermes}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\input glyphtounicode
\pdfgentounicode=1
\begin{document}
\noindent
\rmfamily
rmfamily: zażółć gęsią jaźń \\
\ttfamily
ttfamily: zażółć gęsią jaźń \\
\end{document}
複製並貼上給出.pdf
以下結果:
rmfamily: zażółć gęsią jaźń
ttfamily: zażółć gęsią jaźń
答案2
添加到斯韋雷的回答使用 TeX Gyre Termes (tgtermes
包):它不適用於我的\ttfamily
/ \texttt{}
ie 打字機字體。我從pdftotext
(版本0.12.4)得到以下內容:
rmfamily: zażółć gęsią jaźń ttfamily: za»óªм g si¡ ja «
我瀏覽過LaTeX 字型目錄並找到了以下解決方案—使用TXTT字體對於 ttfamily 來說\renewcommand*\ttdefault{txtt}
:
\documentclass{article}
\usepackage{tgtermes}
\renewcommand*\ttdefault{txtt}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\input glyphtounicode
\pdfgentounicode=1
\begin{document}
\noindent
\rmfamily
rmfamily: zażółć gęsią jaźń \\
\ttfamily
ttfamily: zażółć gęsią jaźń \\
\end{document}