文本模式下的上划线、背景颜色

文本模式下的上划线、背景颜色

我有以下代码来模拟 TI83 计算器屏幕,但我无法添加一些我想添加的东西。

  1. 我想\overline{x}在文本模式下制作。我试过了\={x},虽然这在 LaTeX 中有效,但在我们的系统上却不起作用。关于如何x在文本模式下制作上划线,还有其他想法吗?

  2. 我也想尝试一下这个:

     \def\input{\calcinput{\ Inpt:Data\ Stats}}
    

    并将单词设置Stats为白色,并在其后面加上纯黑色背景。

有什么想法吗?

\documentclass[11pt]{scrartcl} 
\usepackage{tikz}
\usepackage{xparse}
\newcommand\tsurd{\ensuremath{\sqrt{\phantom{i}}}}
\newcommand\txbar{\ensuremath{\overline{x}}}
\ExplSyntaxOn
\NewDocumentCommand{\calcinput}{m}
{
 \tl_map_inline:nn { #1 } { ##1 \hspace{0pt} }
}
\ExplSyntaxOff

\begin{document}

\def\tinterval{\calcinput{TInterval}}
\def\input{\calcinput{\ Inpt:Data\ Stats}}
\def\xbar{\calcinput{\ \txbar:10}}
\def\s{\calcinput{\ Sx:2.345678}}
\def\n{\calcinput{\ n:12}}
\def\cl{\calcinput{\ C-Level:0.95}}
\def\calc{\calcinput{\ Calculate}}


\begin{center}
\begin{tikzpicture}[font=\large\ttfamily]
\draw (0,0) rectangle (5,-4);
\node[align=flush left,text width =5cm,
     anchor=north west,inner sep=1pt] (tinterval) {\tinterval};
\node[align=flush left,text width =5cm,
     anchor=north west,inner sep=1pt] (input) at (tinterval.south west) {\input};
\node[align=flush left,text width =5cm,
     anchor=north west,inner sep=1pt] (xbar) at (input.south west) {\xbar};
\node[align=flush left,text width =5cm,
     anchor=north west,inner sep=1pt] (s) at (xbar.south west) {\s};
\node[align=flush left,text width =5cm,
     anchor=north west,inner sep=1pt] (n) at (s.south west) {\n};
\node[align=flush left,text width =5cm,
     anchor=north west,inner sep=1pt] (cl) at (n.south west) {\cl};
\node[align=flush left,text width =5cm,
     anchor=north west,inner sep=1pt] (calc) at (cl.south west) {\calc};
\end{tikzpicture}
\end{center}
\end{document} 

答案1

您可以使用包\text{x}中的功能在文本模式下amsmath排版,并获取带有黑色背景的白色文本:x\colorbox{black}{\textcolor{white}{Stats}}

在此处输入图片描述

笔记:

  • 我会推荐你不是用作\input宏名。这是预定义的 LaTeX 宏。因此,为了尽量减少此类错误,我建议您使用 LaTeX\newcommand而不是 TeX \def。我已更新下面的 MWE 以反映这一点。
  • 另外,如果您使用\tikzset以下方式定义样式:

    \tikzset{My Node Style/.style={
       align=flush left,text width =5cm, anchor=north west,inner sep=1pt}
    }
    

    您可以大大简化您的代码,正如我下面所做的那样。

代码:

\documentclass[11pt]{scrartcl} 
\usepackage{tikz}
\usepackage{xparse}
\usepackage{xcolor}
\usepackage{amsmath}

\newcommand\tsurd{\ensuremath{\sqrt{\phantom{i}}}}
\newcommand\txbar{\ensuremath{\overline{\text{x}}}}
\ExplSyntaxOn
\NewDocumentCommand{\calcinput}{m}
{
 \tl_map_inline:nn { #1 } { ##1 \hspace{0pt} }
}
\ExplSyntaxOff

\begin{document}

\newcommand*{\tinterval}{\calcinput{TInterval}}
\newcommand*{\Inpt}{\calcinput{\ Inpt:Data\ {\colorbox{black}{\textcolor{white}{Stats}}}}}

\newcommand*{\InptData}{\calcinput{\ Inpt:Data\ }}
\newcommand*{\Stat}{\calcinput{Stats}}

\newcommand*{\xbar}{\calcinput{\ \txbar:10}}
\newcommand*{\s}{\calcinput{\ Sx:2.345678}}
\newcommand*{\n}{\calcinput{\ n:12}}
\newcommand*{\cl}{\calcinput{\ C-Level:0.95}}
\newcommand*{\calc}{\calcinput{\ Calculate}}

\tikzset{My Node Style/.style={
    align=flush left,text width =5cm,
    anchor=north west,inner sep=1pt}
}

\begin{center}
\begin{tikzpicture}[font=\large\ttfamily]
    \fboxsep=0.5pt
    \coordinate (Origin) at (0,0);
    \draw (Origin) rectangle (5,-4);
    \node[My Node Style] (tinterval) at (Origin)               {\tinterval};
    \node[My Node Style] (Inpt)      at (tinterval.south west) {\Inpt};
    \node[My Node Style] (xbar)      at (Inpt.south west)      {\xbar};
    \node[My Node Style] (s)         at (xbar.south west)      {\s};
    \node[My Node Style] (n)         at (s.south west)         {\n};
    \node[My Node Style] (cl)        at (n.south west)         {\cl};
    \node[My Node Style] (calc)      at (cl.south west)        {\calc};
\end{tikzpicture}
\end{center}
\end{document} 

相关内容