制作一个带有文字的丝带框

制作一个带有文字的丝带框

我对 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}

在此处输入图片描述

相关内容