我对 LaTeX 还很陌生,使用 overleaf 来写作。
有什么方法可以让我制作这种带有任意文本的框,该文本不链接到任何标题或章节 - 只是一个带有纯文本的黑框?
我试图在答案中修改这段代码,但似乎只会破坏它......
答案1
由于您没有指定确切的要求,这里有一个简单的功能区版本,在段落文本的左侧或右侧放置一个带有白色文本的黑框。
您可以使用\ribbonsep
来指定文本和功能区之间的水平空间。功能区应始终放在新段落的开头,因为它用于\noindent
正确放置。这也意味着您需要\indent
明确使用以下段落文本是否应缩进。请注意,代码尚未经过大量测试,因此这里有几个优化/扩展的机会。
\documentclass{article}
\usepackage{lipsum}
\usepackage{xcolor}
\newlength\ribbonsep
\ribbonsep=12pt
\newcommand\ribbonleft{%
\noindent
\llap{%
\smash{\vtop{%
\kern-\baselineskip
\hbox{\colorbox{black}{\makebox[\dimexpr 1in+\hoffset+\oddsidemargin-\ribbonsep][r]{%
\Huge\textcolor{white}{\bfseries NOTE}%
\rule[-5pt]{0pt}{\baselineskip}%
}}}%
}}%
\hspace*{\ribbonsep}%
}%
}
\newcommand\ribbonright{%
\noindent
\rlap{%
\hspace*{\dimexpr\textwidth+\ribbonsep}%
\smash{\vtop{%
\kern-\baselineskip
\hbox{\colorbox{black}{\makebox[\dimexpr 1in+\hoffset+\oddsidemargin-\ribbonsep][l]{%
\Huge\textcolor{white}{\bfseries NOTE}%
\rule[-5pt]{0pt}{\baselineskip}%
}}}%
}}%
}%
}
\begin{document}
\lipsum[1]
\ribbonleft\indent
\lipsum[2]
\ribbonright\indent
\lipsum[3]
\end{document}