所以我读了这个答案并且喜欢 tcolorbox 的结果:
https://tex.stackexchange.com/a/271436/98870
解决方案是有效地使用以下代码:
\begin{tcolorbox}[
blanker,
width=0.64\textwidth,enlarge left by=0.36\textwidth,
before skip=6pt,
breakable,
overlay unbroken and first={%
\node[inner sep=0pt,outer sep=0pt,text width=0.33\textwidth,
align=none,
below right]
at ([xshift=-0.36\textwidth]frame.north west)
{
LEFT COLUMN TEXT
};}]
RIGHT COLUMN TEXT
\end{tcolorbox}
答案是
如果需要,可以将所有内容放入宏或环境中以获得更好的界面。
但我不确定如何做到这一点。我以为这意味着像这样的环境
\begin{twocolumns}
LEFT COLUMN TEXT
\nextcolumn
RIGHT COLUMN TEXT
\end{twocolumns}
\newenvironment{}
但是由于在整个解决方案中使用了括号, 我不明白如何使用命令轻松地执行此操作(例如\nextcolumn
," 命令相当于使用行 来关闭节点};}]
)。任何帮助将其转换为上述形式或更有用的形式(是否有更好的主意?不确定!)都将不胜感激!
答案1
新宏
您可以定义一个带有两个参数的宏,每列一个参数。
\documentclass{article}
\usepackage[skins,breakable]{tcolorbox}
\newcommand{\twocolumnsbox}[2]{%
\begin{tcolorbox}[
blanker,
width=0.64\textwidth,enlarge left by=0.36\textwidth,
before skip=6pt,
breakable,
overlay unbroken and first={%
\node[inner sep=0pt,outer sep=0pt,text width=0.33\textwidth,
align=none,
below right]
at ([xshift=-0.36\textwidth]frame.north west)
{
#1
};}]
#2
\end{tcolorbox}%
}
\begin{document}
\twocolumnsbox{Left column text}{Right column text}
\end{document}
新环境
您还可以定义一个新环境,以左列文本作为参数,并将右列文本放置在环境内。
\documentclass{article}
\usepackage[skins,breakable]{tcolorbox}
\newenvironment{twocolumns}[1]{
\begin{tcolorbox}[
blanker,
width=0.64\textwidth,enlarge left by=0.36\textwidth,
before skip=6pt,
breakable,
overlay unbroken and first={%
\node[inner sep=0pt,outer sep=0pt,text width=0.33\textwidth,
align=none,
below right]
at ([xshift=-0.36\textwidth]frame.north west)
{
#1
};}]%
}{%
\end{tcolorbox}%
}
\begin{document}
\begin{twocolumns}{Left column text}
Right column text
\end{twocolumns}
\end{document}