我想要的是
我有一个文档,其中包含来自多个外部.tex
文件的文本。这些文件可以包含\section{}
命令或\begin{quote}
环境。此外,我使用该lineno
包对包含文件的行进行编号。为了允许在打印文档中写注释,我想限制包含文本的宽度。但是,此宽度应该只影响包含的文本,而不影响文档的其他部分。
代码示例
基本上,我的代码应该是这样的:
\chapter{Entry number 10}
Text text text text text text text text text text text text text
% HELP ME: command to set text width
\linenumbers
\input{external.tex}
\nolinenumbers
% HELP ME: command to reset text width
结果应该是什么样子
ENTRY NUMBER 10
===============
Text text text text text text text text text text text text text
1. Included part 10-a
---------------------
2. Text of the included part that has
3. a smaller text width that even works
4. when quotations or other subsections
5. are used.
6. Note the line numbers.
最小示例
下面是一个示例来说明我想要什么以及什么不起作用:
\documentclass{article}
\usepackage{lineno}
\usepackage{lipsum}
\begin{document}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% imagine this part is included from a file %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% show line numbers
\linenumbers
% HELPME: something that does not correctly work
\par\begingroup\rightskip12em
% a paragraph with correct margin
\section{This is an example for a very long subtitle}
\lipsum[1]
% margin is ignored for quoted text
\begin{quote}
\lipsum[1]
\end{quote}
% margin is ignored for item lists
\begin{itemize}
\item \lipsum[1]
\end{itemize}
\par\endgroup
% no line numbers beyond this
\nolinenumbers
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\end{document}
请注意,环境和列表中的文本quote
没有正确的边距。
我尝试过
minipage
:效果很好,但如果包含的文档超过一页,则不起作用。minipage
浮动在许多页面上的环境会有所帮助\newgeometry{}
包的命令geometry
:运行完美,但总是开始一个全新的页面。但是,我希望更改只影响包含的部分,而不影响周围的文本。- 使用包
adjustwidth
中的环境:当环境中的文本包含命令changepage
时,这不起作用。\section{}
- 使用环境并更改其宽度:有几个问题...例如,只要包含的文本包含,边距就会被忽略
quote
。其他环境无法处理\section{}
包含的文本中的命令。
另一个问题
\documentclass{report}
\usepackage{changepage}
\begin{document}
\chapter{Text1}
\begin{adjustwidth}{1cm}{2cm}
\section{Text2}
Text3
\begin{quote}
Text4
\end{quote}
\end{adjustwidth}
\end{document}
我之前没有使用的原因adjustwidth
是,上面的例子在 行中有一个编译错误:“有些错误——可能缺少 \item。” \begin{quote}
。当我删除以下任一内容时,错误就会消失
- 线
\chapter{Text1}
- 线
\section{Text2}
- 线
Text3
- 环境
adjustwidth
怎么会这样?
编辑:我问了一个新问题(使用 changepage 包中的 adjustwidth 环境时出现奇怪的编译问题),然后关闭这个。
答案1
正如评论中所链接的,环境按预期运行
\documentclass{article}
\usepackage{lineno}
\usepackage{lipsum}
\usepackage{showframe}
\usepackage{changepage}
\begin{document}
\begin{adjustwidth}{1cm}{2cm}
\linenumbers
\section{This is an example for a very long subtitle}
\lipsum[1]
\begin{quote}
\lipsum[1]
\end{quote}
\begin{itemize}
\item \lipsum[1]
\end{itemize}
\end{adjustwidth}
\end{document}