![如何在 hyperref 中用逗号替换 pdfkeywords 中的分号](https://linux22.com/image/359399/%E5%A6%82%E4%BD%95%E5%9C%A8%20hyperref%20%E4%B8%AD%E7%94%A8%E9%80%97%E5%8F%B7%E6%9B%BF%E6%8D%A2%20pdfkeywords%20%E4%B8%AD%E7%9A%84%E5%88%86%E5%8F%B7.png)
我从外部文件中获取一个以 分隔的关键字列表;
。由于hyperref
仅适用于以 分隔的关键字,因此,
我需要替换分号。
遵循 MWE 适用于文本,但不适用于pdfkeywords
来自hyperref
% !TEX TS-program = lualatex
\documentclass[12pt]{scrartcl}
\usepackage{xstring}
\usepackage{hyperref}
\def\fmkeywords{Keyword1; Keyword2; Keyword3}
\hypersetup{
unicode,
pdftitle={My title},
pdfencoding=auto,
pdfkeywords={\StrSubstitute{\fmkeywords}{;}{,}},
}
\begin{document}
wrong: \fmkeywords
correct: \StrSubstitute{\fmkeywords}{;}{,}
\end{document}
在 PDF 信息中它不会显示关键字:
但文本中一切都很好:
答案1
展开替换并将其存储在同一个变量中(\fmkeywords
):
\documentclass{article}
\usepackage{xstring}
\usepackage{hyperref}
\def\fmkeywords{Keyword1; Keyword2; Keyword3}
\StrSubstitute{\fmkeywords}{;}{,}[\fmkeywords]
\hypersetup{
unicode,
pdftitle={My title},
pdfencoding=auto,
pdfkeywords={\fmkeywords}
}
\begin{document}
correct: \fmkeywords
correct: \StrSubstitute{\fmkeywords}{;}{,}
\end{document}