双列布局,左列与内容等宽

双列布局,左列与内容等宽

这是所需布局的图像,来自 PDF 版 MS Word 文档:

它是 A5 格式。我真正想要的是:

  • 将其分成两列,每列左对齐
  • 歌词应该占据尽可能多的空间;因此,简单\begin{multicols}{2}是不够的

我如何使用 LaTeX 实现这样的布局?

答案1

您所需要的只是一个非常基本的,tabular没有任何特殊功能。其默认行为是使列尽可能宽。但是,这不适用于太长且应该分成下一行的行。有关 的更多信息tabular,请参阅LaTeX2ε 的简短介绍或第 9.23 条非官方 LaTeX 参考手册

\documentclass{article}

\usepackage[a5paper]{geometry}

% Just to get the umlauts right:
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[T1]{fontenc}

\begin{document}
\section*{An die Freude (Schiller)}

\begin{tabular}{ll}
Freude, schöner Götterfunken, & right column \\
Tochter aus Elisium, & right column \\
Wir betreten feuertrunken & right column \\
Himmlische, dein Heiligthum. & right column \\
Deine Zauber binden wieder, & right column \\
was der Mode Schwerd getheilt; & right column \\
Bettler werden Fürstenbrüder, & right column \\
wo dein sanfter Flügel weilt. & right column \\
\end{tabular}

\end{document}

输出

答案2

songs软件包是一个非常通用的软件包,它允许用户使用 LaTeX 创建精美的歌曲集。示例(取自软件包文档):

\documentclass{article}
\usepackage[chorded]{songs}

\newindex{titleidx}{titleidx}
\noversenumbers

\begin{document}
\showindex{Complete Index of Songs}{titleidx}
\songsection{Worship Songs}

\begin{songs}{titleidx}
\beginsong{Doxology}[by={Louis Bourgeois and Thomas Ken},
                     sr={Revelation 5:13},
                     cr={Public domain.},
                     index={Praise God, from Whom all blessings flow}]
\beginverse
\[G]Praise God, \[D]from \[Em]Whom \[Bm]all \[Em]bless\[D]ings \[G]flow;
\[G]Praise Him, all \[D]crea\[Em]tures \[C]here \[G]be\[D]low;
\[Em]Praise \[D]Him \[G]a\[D]bove, \[G]ye \[C]heav'n\[D]ly \[Em]host;
\[G]Praise Fa\[Em]ther, \[D]Son, \[Am]and \[G/B G/C]Ho\[D]ly \[G]Ghost.
\[C]A\[G]men.
\endverse
\endsong
\end{songs}

\end{document}

在此处输入图片描述

并且使用该\nolyrics命令您可以按以下方式重写上述示例:

\documentclass{article}
\usepackage{songs}

\songcolumns{0}
\noversenumbers

\begin{document}

\begin{songs}{}
\beginsong{Doxology}[by={Louis Bourgeois and Thomas Ken},
                     sr={Revelation 5:13},
                     cr={Public domain.},
                     index={Praise God, from Whom all blessings flow}]
\beginverse
Praise God, from Whom all blessings flow;\hfill{\nolyrics \[G] \[D] \[Em] \[Bm] \[Em] \[D] \[G]}
Praise Him, all creatures here below;\hfill{\nolyrics \[G] \[D] \[Em] \[C] \[G] \[D]}
Praise Him above, ye heav'nly host;\hfill{\nolyrics \[Em] \[D] \[G] \[D] \[G] \[C] \[D] \[Em]}
Praise Father, Son, and Holy Ghost.\hfill{\nolyrics \[G] \[Em] \[D] \[Am] \[G/B G/C] \[D] \[G]}
Amen.\hfill{\nolyrics \[C] \[G]}
\endverse
\endsong
\end{songs}

\end{document}

在此处输入图片描述

答案3

这是一个基于表格的解决方案。X是一种自动填充空间直到表格预定义宽度的列类型,而l仅调整到其内容的宽度。

或者,您可以将列定义为X[3,l]X[1,l],这样第一列的宽度将是第二列的三倍。除了使用等宽字体来对齐和弦外,您还可以考虑为每个和弦使用一列(如果事先知道最大和弦数)。在这种情况下,您也可以使用 来\textsuperscript{7}对齐七和弦。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs}
\usepackage{tabu}
\usepackage{parskip}    %no paragraph indentation
\renewcommand{\arraystretch}{1.5}   %increase interrow spacing

\begin{document}

\section{Song name}
Capo on fret II
\bigskip

\begin{tabu} to \textwidth {X[l]l}
\toprule
First line of lyrics    & \texttt{a~~E}\\   %protected spaces
Second line of lyrics   & \texttt{E7 a}\\[.5em] %additional space
Third line of lyrics    & \texttt{A7}\\
Fourth line of lyrics   & \texttt{d}\\
\bottomrule
\end{tabu}
\end{document}

相关内容