如果我有以下内容:
\lit*{\char`\\ b}
我如何将其与\hl
(突出显示)结合起来以获得突出显示的版本\b
?
(\lit
来自包裹syntax
,\hl
来自soul
)
答案1
对我来说,解决方案通常是改变灵魂如何注册你输入的命令
\documentclass{article}
\usepackage{syntax}
% \usepackage{xcolor} % for colouring
\usepackage{soul}
\soulregister\lit7 % this tells soul to register \lit as non expanded command.
% so the result is \hl{result of lit}
\usepackage{lipsum}
\begin{document}
Example
\lit{Example}
\hl{Example}
\hl{\lit{Example}}
\end{document}
更多细节:如何使 \hl(突出显示)自动将不兼容的命令放置在 \mbox 中?
编辑
根据 quark67 的评论,您可以创建一个新命令\newcommand{\newlit}[1]{\lit*{#1}}
作为注册该命令
\documentclass{article}
\usepackage{syntax}
\usepackage{xcolor} % for colouring
\usepackage{soul}
\newcommand{\newlit}[1]{\lit*{#1}}
\soulregister\newlit7 % this tells soul to register \newlit as non expanded command. Yes the 7 at the end is what does it!
% so the result is \hl{result of \lit*}
\usepackage{lipsum}
\begin{document}
Example
\lit{Example}
\hl{Example}
\hl{\lit{Example}}
\hl{\newlit{Example}}
\end{document}