我正在为整个文档中出现的一系列按钮创建样式。有时我希望它占据自己的段落(实现为迷你页面),有时我希望按钮以内联方式显示。我为此创建了两个自定义函数:\nav
和\navinline
:
%latexmk -f -lualatex test.tex
\documentclass{article}
\usepackage{color}
\usepackage{tikz}
\usetikzlibrary{positioning,matrix,calc,shapes.arrows,shadows.blur,shadows}
\usepackage[most]{tcolorbox}
\newcommand{\navmenu}{%
\tikz[baseline=(s.base)]{
\node(s)[rounded corners,minimum height=25pt,minimum width=60pt,fill=gray,draw=black]{\large\bf{\color{white}MENU}};
}
}
\newcommand{\navbutton}[1]{%
\tikz[baseline=(s.base)]{
\node(s)[rounded corners,minimum height=25pt,minimum width=60pt,fill=black,draw=black]{\large\bf{\color{gray}#1}};
}
}
\newcommand{\nav}[1]{%
\centerline{%
\begin{minipage}{\linewidth}
\begin{align*}
#1
\end{align*}
\end{minipage}
}
\vspace{5mm}
}
\newcommand{\navinline}[1]{%
#1
}
\newcommand{\navsep}{%
\Rightarrow
}
\begin{document}
\section{Whatever}
\nav{\navmenu\navsep\navbutton{ONE}\navsep\navbutton{TWO}}
Some text and text and text and text and text and text and then our nav inline \navinline{\navmenu\navsep\navbutton{ONE}\navsep\navbutton{TWO}} and then some more text.
\end{document}
但实际情况是,文档中内联箭头之间的间距与小页面中的间距不匹配。内联箭头似乎切断了其右侧的空间。
这里需要修改哪些变量才能使常规文档中的间距与小页面中显示的内容相匹配?
答案1
由于您正在排版数学材料(例如\Rightarrow
),因此您需要确保在数学模式下进行排版,否则您会像我使用 MWE 时一样在编译时遇到错误。为了修复此问题,我只需\newcommand{\navinline}[1]{$#1$}
通过添加分隔符将其更改为在数学模式下设置即可$
。
请注意,在您的minipage
版本中,align*
会自动将您置于数学模式,因此这里不存在任何问题。
%latexmk -f -lualatex test.tex
\documentclass{article}
\usepackage{color}
\usepackage{tikz}
\usetikzlibrary{positioning,matrix,calc,shapes.arrows,shadows.blur,shadows}
\usepackage[most]{tcolorbox}
\newcommand{\navmenu}{%
\tikz[baseline=(s.base)]{
\node(s)[rounded corners,minimum height=25pt,minimum width=60pt,fill=gray,draw=black]{\large\bf{\color{white}MENU}};
}
}
\newcommand{\navbutton}[1]{%
\tikz[baseline=(s.base)]{
\node(s)[rounded corners,minimum height=25pt,minimum width=60pt,fill=black,draw=black]{\large\bf{\color{gray}#1}};
}
}
\newcommand{\nav}[1]{%
\centerline{%
\begin{minipage}{\linewidth}
\begin{align*}
#1
\end{align*}
\end{minipage}
}
\vspace{5mm}
}
\newcommand{\navinline}[1]{$#1$}
\newcommand{\navsep}{%
\Rightarrow
}
\begin{document}
\section{Whatever}
\nav{\navmenu\navsep\navbutton{ONE}\navsep\navbutton{TWO}}
Some text and text and text and text and text and text and then our nav inline \navinline{\navmenu\navsep\navbutton{ONE}\navsep\navbutton{TWO}} and then some more text.
\end{document}