![更改普通文本的行距,但不更改表格或诗句的行距](https://linux22.com/image/239889/%E6%9B%B4%E6%94%B9%E6%99%AE%E9%80%9A%E6%96%87%E6%9C%AC%E7%9A%84%E8%A1%8C%E8%B7%9D%EF%BC%8C%E4%BD%86%E4%B8%8D%E6%9B%B4%E6%94%B9%E8%A1%A8%E6%A0%BC%E6%88%96%E8%AF%97%E5%8F%A5%E7%9A%84%E8%A1%8C%E8%B7%9D.png)
\usepackage{setspace}
\doublespacing
我使用以上两行代码来更改文档中的间距。这会更改整个文档的间距。
我的要求是仅更改段落中的行距。我想保留verse
和table
环境不变。我只想更改段落。我没有将段落放在任何环境中。我也需要这样做吗?
答案1
\documentclass{article}
\usepackage{etoolbox}
\usepackage[doublespacing]{setspace}
\AtBeginEnvironment{verse}{\singlespacing}
\AtBeginEnvironment{tabular}{\singlespacing}
\usepackage{lipsum}% just for blindtext
\begin{document}
\lipsum[1]
\begin{verse}
\lipsum[1]
\end{verse}
\lipsum[1]
\begin{tabular}{p{10cm}}
\lipsum[1]
\end{tabular}
\lipsum[1]
\end{document}
这将修补verse
和环境,使其在开头tabular
使用。环境不受其影响,因此不需要任何修补,但您可能希望使用。\singlespacing
table
[doublespacing]
tabular
答案2
要在本地更改文档中的行距,请使用包提供的singlespace,
onehalfspace
环境。例如:doublespace
setspace
\documentclass{article}
\usepackage{setspace}
\doublespacing
...
\begin{document}
...
\begin{singlespace}
...
\end{singlespace}
...
\end{document}
答案3
您可以重新定义verse
和tabular
环境以使它们成为单倍行距:
\let\oldtabular\tabular
\let\endoldtabular\endtabular
\renewenvironment{tabular}
{\bgroup\singlespacing\oldtabular}%
{\endoldtabular\egroup}
\let\oldverse\verse
\let\endoldverse\endverse
\renewenvironment{verse}
{\bgroup\singlespacing\oldverse}%
{\endoldverse\egroup}