具有背景颜色的内联代码 - lua-ul

具有背景颜色的内联代码 - lua-ul

我知道有几种方法可以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-ul0.1.2 制作的,但在 0.1.3 中以不同的形式仍然不正确。因此,我认为这可能是一个更普遍的问题。

答案1

问题在于\highLight和的组合\texttt,这似乎是一个错误。您可以尝试在 上报告此问题https://github.com/zauguin/luaul/issues

一个解决方法是反转顺序并将突出显示放在电传打字机内(没有任何空格):

\newcommand{\code}[1]{\texttt{\highLight[{[HTML]{D3D3D3}}]{#1}}}

结果:

在此处输入图片描述

答案2

文本命令(例如)\texttt不仅仅切换字体。它们还会在开始时检查“斜体校正”。如果您比较此

{\itshape abt \textup{k}}

{\itshape abt \upshape k}

你可以看到细微的差别:

在此处输入图片描述

代码执行 \unskip 然后重新插入空格,这就是您所看到的。

为了避免这种副作用,请将 \texttt 移到外部,或在内部使用 \ttfamily。

答案3

此问题已在lua-ulv0.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}

在此处输入图片描述

相关内容