如果可能的话,我想把“N-1”放入下面的框中;如果我使用解决方案\text{-}
,也就是说3/{N\text{-}1}
,它给了我一个错误:Undefined control sequence: } (followed by: )
有办法解决吗?
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, positioning}
\def\d{0.7cm}
\tikzset{
>=latex,
font=\sffamily,
mybox/.style={rectangle, fill=white, thin, draw, outer sep=0, minimum width = \d, minimum height = \d, inner sep=0},
}
\begin{document}
\begin{tikzpicture}
\foreach\k/\s in {
0/1, 3/{N-1}, 4/{N}
}{
\node[mybox] (bc\k) at ($(-\k*\d, 0)$) {$S_{\s}$};
}
\end{tikzpicture}
\end{document}
答案1
您可以使用\text{-}
,但是您需要amsmath
。
\documentclass{standalone}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{calc, positioning}
\newcommand\dd{0.7cm}
\tikzset{
>=latex,
font=\sffamily,
mybox/.style={
rectangle,
fill=white,
thin,
draw, outer sep=0,
minimum width = \dd,
minimum height = \dd,
inner sep=0
},
}
\begin{document}
\begin{tikzpicture}
\foreach\k/\s in {
0/1, 3/{N\text{-}1}, 4/{N}
}{
\node[mybox] (bc\k) at ($(-\k*\dd, 0)$) {$S_{\s}$};
}
\end{tikzpicture}
\end{document}
不要做\def\d{...}
。
答案2
您链接的答案建议使用 来\scalebox
仅在水平方向而不是垂直方向缩小减号。您可以像这样定义自定义宏:
\documentclass{article}
\usepackage{graphicx}
\def\sminus{\scalebox{0.75}[1.0]{\( - \)}}
\begin{document}
$-8 \sminus 8$
\end{document}
要调整减号的宽度以满足您的喜好,请调整值{0.75}
。这[1.0]
是垂直比例,以便它保持相同的“高度”。