![双列布局,左列与内容等宽](https://linux22.com/image/250940/%E5%8F%8C%E5%88%97%E5%B8%83%E5%B1%80%EF%BC%8C%E5%B7%A6%E5%88%97%E4%B8%8E%E5%86%85%E5%AE%B9%E7%AD%89%E5%AE%BD.png)
这是所需布局的图像,来自 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}