我知道有几种方法可以code
用 TeX 突出显示某部分。我尝试了以下方法
\documentclass[a4paper,11pt,naustrian]{article}
\usepackage[left=2.5cm, right=2.5cm, top=4.3cm, bottom=2cm, headheight=2.3cm]{geometry} % for margins on a A4paper
\usepackage{fontspec}
\usepackage[shorthands=off,bidi=basic]{babel}
\setmainfont{Open Sans}
\usepackage{parskip}
\usepackage[font=small]{caption} % small font, an additional line as space after figure
\usepackage[dvipsnames, table]{xcolor}
\usepackage{luacolor,lua-ul} %for usage of style attributes - background color
\begin{document}
\newcommand{\code}[1]{ \highLight[{[HTML]{D3D3D3}}]{\texttt{#1}}}
* Die Kapiteln können nur dann in der Lasche \code{Bearbeiten} gesehen werden, wenn der Benutzer im Gesamtdokument die Berechtigung \code{Zugang} hat.
\end{document}
其结果如下:
此结果的主要问题是彩色背景不是从单词边界开始的。在第一个单词中,它包含一个空格,而在第二个单词中则没有。我可以space
在命令中删除code
,但背景颜色会直接从前一个单词开始。
这是问题吗lua-ul
?或者如何更精确地定义它以包裹单词边界?
正在运行lualatex 1.13.2
。上面的截图是用lua-ul
0.1.2 制作的,但在 0.1.3 中以不同的形式仍然不正确。因此,我认为这可能是一个更普遍的问题。
答案1
问题在于\highLight
和的组合\texttt
,这似乎是一个错误。您可以尝试在 上报告此问题https://github.com/zauguin/luaul/issues。
一个解决方法是反转顺序并将突出显示放在电传打字机内(没有任何空格):
\newcommand{\code}[1]{\texttt{\highLight[{[HTML]{D3D3D3}}]{#1}}}
结果:
答案2
答案3
此问题已在lua-ul
v0.1.4 版本中修复:
\documentclass[a4paper,11pt,naustrian]{article}
\usepackage[left=2.5cm, right=2.5cm, top=4.3cm, bottom=2cm, headheight=2.3cm]{geometry} % for margins on a A4paper
\usepackage{fontspec}
\usepackage[shorthands=off,bidi=basic]{babel}
\setmainfont{Open Sans}
\usepackage{parskip}
\usepackage[font=small]{caption} % small font, an additional line as space after figure
\usepackage[dvipsnames, table]{xcolor}
\usepackage{luacolor,lua-ul} %for usage of style attributes - background color
\begin{document}
\showoutput
\newcommand{\code}[1]{ \highLight[{[HTML]{D3D3D3}}]{\texttt{#1}}}
* Die Kapiteln können nur dann in der Lasche \code{Bearbeiten} gesehen werden, wenn der Benutzer im Gesamtdokument die Berechtigung \code{Zugang} hat.
\end{document}