我想定义自己的自定义文本样式,以便突出显示定义。我在这篇文章中想到了这里,我尝试按照其示例创建一个名为“definition”的自定义文本样式,它只是粗体青色文本。“definition”样式显示在菜单中,在 Lyx 中看起来正确,但是当我编译文档时,文本是打字机字体(类似于代码文本样式),而不是我的。我在下面的屏幕截图中捕捉到了这种行为。任何帮助都将不胜感激!
以下是代码:
\documentclass[oneside,english]{amsbook}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\makeatletter
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Textclass specific LaTeX commands.
\numberwithin{section}{chapter}
\newcommand{\definition}[1]{\texttt{#1}}
\makeatother
\usepackage{babel}
\begin{document}
this is a \definition{definition}
\end{document}
更新:我认为问题的关键在于 \newcommand{\definition}[1]{\texttt{#1}}
。这似乎是本地布局中唯一真正进入 LaTeX 的行,并且它似乎不包含 \definition 应该为文本着色和加粗的信息。不幸的是,我不明白这一行的语法或语义,(我从这里),所以我不知道如何解决这个问题。
答案1
该行\newcommand{\definition}[1]{\texttt{#1}}
确实只将文本设置为打字机字体,不包含任何有关粗体或颜色的信息。这就是和\texbf
(\textcolor
来自xcolor
包)命令执行以下操作:
\documentclass[oneside,english]{amsbook}
\usepackage[T1]{fontenc}
\usepackage{xcolor}
\newcommand{\definition}[1]{\textcolor{cyan}{\textbf{#1}}}
\newcommand{\definitiontt}[1]{\textcolor{cyan}{\texttt{#1}}}
\begin{document}
This is a \definition{definition}
This is another \definitiontt{definition in typewriter font}
\end{document}