我遇到了以下问题:下面的 LaTeX 代码产生了图片中的输出。
\usepackage{listings, tabularx, caption}
\begin{table}[h]
\centering
\caption{Vergleich von C++ und Swift Code}
\begin{tabularx}{\linewidth}{ | X | X | }
\hline
\lstinputlisting[style=table, caption={C++ Code}]{code/hello_world.cpp} & \lstinputlisting[style=table, caption={C Code}]{code/hello_world.c}\\
\hline
\end{tabularx}\par
\bigskip
Caption
\end{table}
有没有办法让两个代码示例的标题垂直对齐?
答案1
当您在表格中显示列表时,您可以为子标题另起一行。
我个人认为,您使用了太多标题。在您的示例中,表格上方有一个标题,列表下方有子标题,表格下方还有另一个(无用的)标题。在我的示例中,我删除了最后一个。
\documentclass[a4paper,11pt]{article}
\usepackage[main=ngerman]{babel}
\usepackage{listings, tabularx}
\begin{document}
\begin{table}[h]
\caption{Vergleich von C++ und Swift Code}
\begin{tabularx}{\linewidth}{ | X | X | }
\hline
\lstinputlisting{code/hello_world.cpp}
& \lstinputlisting{code/hello_world.c}\\
%% NEW: the following line contains the requested subcaptions,
%% being set on one line.
\parbox{\linewidth}{\centering C++-Beispiel}
& \parbox{\linewidth}{\centering C-Beispiel} \\
\hline
\end{tabularx}
\end{table}
\end{document}
结果如下: