![尝试使用少于 6 行的代码框住彩色文本 + 数学时出现错误](https://linux22.com/image/383562/%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%E5%B0%91%E4%BA%8E%206%20%E8%A1%8C%E7%9A%84%E4%BB%A3%E7%A0%81%E6%A1%86%E4%BD%8F%E5%BD%A9%E8%89%B2%E6%96%87%E6%9C%AC%20%2B%20%E6%95%B0%E5%AD%A6%E6%97%B6%E5%87%BA%E7%8E%B0%E9%94%99%E8%AF%AF.png)
第一次使用 Latex 的用户
我正在尝试使用以下代码框住文本和数学
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{xcolor}
\begin{document}
\section{Section Title}
\fbox{
{\color{blue} This is a text \[x\]}
}
\boxed{
{\color{blue} This is a text \[x\]}
}
\end{document}
有人能帮我调试这仅仅 6 行代码吗?
答案1
欢迎使用 TeX.SX!最简单的方法是使用framed
包裹:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{xcolor}
\usepackage{framed}
\begin{document}
\section{Section Title}
\begin{framed}
\color{blue}This is a text \[x\]
\end{framed}
\end{document}
你tcolorbox
在你的一个标签中提到过,所以这里有一个替代方案,使用tcolorbox
包裹:
\documentclass{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{xcolor}
\usepackage{tcolorbox}
\begin{document}
\section{Section Title}
\begin{tcolorbox}
\color{blue}This is a text \[x\]
\end{tcolorbox}
\end{document}
答案2
\fbox
是\hbox
(LaTeX 书中的 LR 模式),它不允许换行,并且\[
(在错误检查之后)$$
你最终(如果你滚动浏览错误)会得到
\hbox{ text $$x$$}
在原始级别的受限 hmode 中$$
,所以这与两个相同,$
所以它是
\hbox{ text $ empty math $ x $ empty math $}
为了将多行文本放入单行上下文中,你可以使用 parbox
\documentclass[]{article}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{xcolor}
\begin{document}
\section{Section Title}
\noindent\fbox{\parbox{\dimexpr\textwidth-2\fboxsep-2\fboxrule}{%
\textcolor{blue}{This is a text \[x\]}%
}}
\end{document}