我想要的是

我想要的是

我想要的是

我有一个文档,其中包含来自多个外部.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}

在此处输入图片描述

相关内容