在任何 SE 帖子中,都可以使用反引号(“`”)来将某些文本标记为一段代码或计算机输出。例如:void main()
。
有没有办法在 LaTeX 文档中以相同的方式使用“`”?
答案1
答案2
您可以使用以下方式定义自己的逐字速记fancyvrb
的\DefineShortVerb
:
\documentclass{article}
\usepackage{fancyvrb}
\DefineShortVerb{\`}
\begin{document}
On any SE post one can use the quote in order to highlight a text.
For example, `this text is highlighted`.
\end{document}
要删除此功能,请使用\UndefineShortVerb{\`}
,因为它可能会干扰`
代码中的其他用途。
答案3
为了这个目的,使用"
或|
而不是更自然,因为在 LaTeX 中被翻译为“foo”。`
``foo''
有多个包可以为此定义简短的逐字命令。最基本的是shortvrb
,它是 LaTeX 基础包的一部分doc
:
\documentclass{article}
\usepackage{shortvrb}
\MakeShortVerb|
% \DeleteShortVerb|
\begin{document}
Short verbatim: |foo#bar|
\end{document}
正如 Werner 和 Henri Menke 所说,您还可以使用fancyvrb
、gmverb
、newverbs
来实现此功能,或者使用listings
语法高亮支持。
但有时你不想使用逐字文本,只需要特殊字体或颜色。那么你可以使用一些技巧自己定义一个单字符命令:
\documentclass{article}
\newcommand\MakeShortHighlight[2][\texttt]{%
\begingroup\lccode`\~=`#2\lowercase{\endgroup
\def~##1~{#1{##1}}}%
\catcode`#2=\active}
\newcommand\DeleteShortHightlight[1]{%
\catcode`#1=12 }
\usepackage{xcolor}
\begin{document}
\MakeShortHighlight\"
Short highlighted: "typewriter text"
\MakeShortHighlight[\textcolor{red}]\|
Short highlighted: |red color|
\end{document}