Note: Similar question to beamer-columns-environment-in-article-document, but the answer (just use minipage directly) isn't suitable in my use-case.
Basically, I'm generating LaTeX from markdown via pandoc (quarto, specifically), and I would like to use a columns layout to place text and a figure side-by-side (not necessarily equal width). The standard answer is to use minipages,
\begin{minipage}[t]{.6\textwidth}
\vspace{0pt}
Lorem ipsum dolor sit amet consectetur adipiscing elit morbi, vivamus erat himenaeos litora cras magnis blandit leo, etiam turpis lectus nullam feugiat porttitor dis. Non ultricies mus turpis in habitant auctor euismod duis scelerisque porttitor, mattis metus nisl risus leo curabitur laoreet eget varius. Etiam sed tortor nulla quis vehicula sodales non convallis aliquam phasellus, ut facilisis sociis molestie vel sagittis eu luctus.
\begin{enumerate}
\item firstly
\item secondly
\item thirdly
\item quarto
\end{enumerate}
\end{minipage}
\hfill
\begin{minipage}[t]{.3\textwidth}
\vspace{0pt}
\includegraphics{dummy.png}
this is a picture
\end{minipage}
and that works fine, but within the minipage environment one cannot use markdown, as pandoc detects it as raw latex and passes it to the output without processing what's inside.
What would be much nicer would be a syntactic sugar such as the one provided by Beamer's \columns{} environment, which could be directly mapped in pandoc (/quarto) as:
:::: {.columns}
::: {.column width="60%"}
Lorem ipsum dolor sit amet consectetur adipiscing elit morbi, vivamus erat himenaeos litora cras magnis blandit leo, etiam turpis lectus nullam feugiat porttitor dis. Non ultricies mus turpis in habitant auctor euismod duis scelerisque porttitor, mattis metus nisl risus leo curabitur laoreet eget varius. Etiam sed tortor nulla quis vehicula sodales non convallis aliquam phasellus, ut facilisis sociis molestie vel sagittis eu luctus.
- firstly
- secondly
- thirdly
- quarto
:::
::: {.column width="10%"}
:::
::: {.column width="30%"}
:::
::::
with the additional advantage that the exact same syntax would work for other output (beamer, but also HTML, Word, etc.)
Unfortunately, I'm unable to understand, let alone extract, the relevant macro definition in Beamer. It looks full of beamer-specific variables, and I wouldn't know how to start extracting it, for use in other LaTeX classes.
Is there a more standalone columns-like environment in another package? Or could someone show me how to go about writing one (say for the article class)? It's a bit beyond my basic abilities to define new environments.


multicolpackage,wrapfigpackage. – Οὖτις Mar 25 '23 at 08:05:::: {.columns}to beamer columns to other pandoc templates and modify them to use minipages. You'll probably reach more users familiar with this if you would ask on stackoverflow instead of a latex site – samcarter_is_at_topanswers.xyz Mar 25 '23 at 10:47:::: {.columns}filter, that's specific to the presentation template. – samcarter_is_at_topanswers.xyz Mar 25 '23 at 10:58::: columnssyntax and outputs the corresponding code for different output formats (Html, beamer, Word, etc.), so it should be easy to add this new output. In fact, thelatex-environmentextension gets 95% of the way there, unfortunately it adds a line break between the minipages :/ – user14020101 Mar 25 '23 at 19:55