我还没能找到这个问题的答案。
这个想法是使用带有希腊字母 alpha 或 gamma 的首字母缩略词,同时在文本中使用常规的 Unicode 希腊字符。
首字母缩略词的问题在于,将 unicode 字符放在首字母缩略词中不会使其出现在首字母缩略词部分,而只会出现在文本中。
目前我的解决方案使它在文本中显示为数学字母:
我正在使用带有 pdf 输出的 Quarto,因此使用 latex:
---
title: "quarto-test-env"
format: pdf
header-includes:
- \usepackage{acronym}
- \usepackage{upgreek}
keep-tex: true
mainfont: "Times New Roman"
---
# Acronyms
\begin{acronym}
\acro{ifng}[IFN-$\mupgamma$]{interferon gamma}
\acro{tnfa}[TNF-$\mupalpha$]{tumor necrosis factor alpha}
\acro{nfkb}[NF-κB]{nuclear factor-kappa B}
\end{acronym}
# Regular text
- \ac{tnfa}
- \ac{ifng}
I want TNF-α and not \ac{tnfa} ; IFN-γ and not \ac{ifng}.
When I use unicode characters in acronym such as \ac{nfkb}, it doesn't display in the acronym but in the regular text only.
我想让它使用 Unicode 字符显示,例如:TNF-α;IFN-γ
我使用 Times News Roman 作为字体。
有没有什么解决办法?或者我是否必须放弃这个想法?
谢谢您的帮助。
答案1
我无法重现您的问题,即字符出现在文本中但不出现在列表中,反之亦然(无论是从提供的要旨或最少的代码),无法想象为什么会发生这种情况。我猜要么是你没有展示什么,要么是 Quarto/pandoc 的责任。
至于使用直立希腊字符acronym
(至少在提供可选的短格式参数时),使用 并没有什么特别之处acronym
,它与一般文本存在同样的问题(例如参见文本模式下的直立希腊字母(不是 upgreek),直立小写字母 $\pi$,如何在 LaTeX 中轻松使用 UTF-8?,直立希腊字体适合计算机现代))。
举pdflatex
个例子
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{acronym}
\usepackage{upgreek}
\DeclareUnicodeCharacter{03B3}{$\upgamma$}
\begin{document}
\begin{acronym}
\acro{ifng}[IFN-γ]{interféron gamma}
\acro{tnfa}[TNF-$\upalpha$]{tumor necrosis factor alpha}
\end{acronym}
\ac{tnfa}
\ac{ifng}
\end{document}
干扰素-γ干扰素γ
肿瘤坏死因子-α肿瘤坏死因子α
肿瘤坏死因子 α (TNF-α) 干扰素 γ (IFN-γ)
或lualatex
使用合适的字体
\documentclass{article}
\usepackage{libertine}
\usepackage{acronym}
\begin{document}
\begin{acronym}
\acro{ifng}[IFN-γ]{interféron gamma}
\acro{tnfa}[TNF-α]{tumor necrosis factor alpha}
\end{acronym}
\ac{tnfa}
\ac{ifng}
\end{document}
干扰素-γ干扰素γ
肿瘤坏死因子-α肿瘤坏死因子α
肿瘤坏死因子 α (TNF-α) 干扰素 γ (IFN-γ)
在所有这些情况下,alpha 和 gamma 字符都会作为U+03B1
和U+03B3
字符复制。