LaTeX 문서의 전역 줄바꿈

LaTeX 문서의 전역 줄바꿈

줄바꿈에 문제가 있습니다. 나는 URL이나 경로와 같은 긴 줄이 포함된 보고서를 생성하는 도구를 작성했습니다. 결과 PDF에서는 이 줄을 래핑해야 합니다. 또한 래핑은 자동으로 수행되어야 합니다. 수동 포장을 삽입할 수 있는 것으로 알고 있습니다. 하지만 난 필요해글로벌규칙과 같은 접근 방식(긴 줄을 둘러싸는 함수 없음) 또는 줄이 끝나면 단어 줄 바꿈을 전역적으로 적용합니다.

나는 이미 패키지를 시도 \sloppy했습니다 microtype. 그러나 성공하지 못했습니다.

내 문제를 설명하기 위해 간단한 LaTeX 예제를 만들었습니다.

\documentclass{article}

\usepackage{microtype}
\usepackage{ragged2e}
\usepackage[hyphens]{url}
\usepackage{path}

\begin{document}

\specialpathdelimiterstrue

AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash AAAA\textbackslash 

bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb

http://aaaaaaaaaaaaaaaaaaaaaaaa/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
\end{document}

세 줄은 모두 줄/페이지 너비 끝에서 감싸져야 합니다.

이에 대한 해결책이 있습니까? 나는 이미 해결책을 찾기 위해 며칠을 검색했습니다 ..

답변1

라인이 자동으로 생성되기 때문에 각 라인에 매크로를 사용하고 싶지 않을 것 같습니다. 하지만 을 사용할 수 있으므로 \sloppy모든 회선을 둘러싼 환경은 괜찮을 수 있습니다.

그런 다음 가능한 아이디어는 환경의 내용을 스캔하고 문자 사이에 임의의 구분을 추가하는 것입니다.

아래 코드는 wraplines모든 줄이 줄 끝에서 래핑되는 환경을 정의합니다.

\begin{wraplines}
% text
\end{wraplines}

환경은 실제로 임의의 제한된 수평 모드 자료일 수 있는 선택적 하이픈 문자를 사용합니다: -, $\rightarrow$, ...

\begin{wraplines}[-]
% text
\end{wraplines}

코드에서는 환경 내에서 텍스트만 발생한다고 가정합니다. 그러나 텍스트에는 여러 단락이 포함될 수 있습니다.

\documentclass{article}

\makeatletter
\newenvironment{wraplines}[1][]{%
  % encapsulate hyphenation character in a \hbox so that
  % it may be arbitrary restricted horizontal mode material e.g $\rightarrow$
  \def\@wrapdiscr{\discretionary{\hbox{#1}}{}{}}%
  \@wraplines
}{}
\newcommand\@wraplines{%
  \@ifnextchar\end\relax{%
    \@ifnextchar\par{%
      \par\expandafter\@wraplines\@gobble
    }%
    \@wraplines@aux
  }%
}
\def\@wraplines@aux#1 {\x@wraplines@aux#1\@nnil}
\newcommand*\x@wraplines@aux[1]{#1\y@wraplines@aux}
\newcommand*\y@wraplines@aux[1]{%
  \ifx#1\@nnil
    \space
    \expandafter\@wraplines
  \else
    \@wrapdiscr#1%
    \expandafter\y@wraplines@aux
  \fi
}
\makeatother

\begin{document}
\begin{wraplines}
\end{wraplines}

\noindent\verb|\begin{wraplines} ... \end{wraplines}|

\begin{wraplines}
Xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\end{wraplines}

\bigskip

\noindent\verb|\begin{wraplines}[-] ... \end{wraplines}|

\begin{wraplines}[-]
Xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\end{wraplines}

\bigskip

\noindent\verb|\begin{wraplines}[$\rightarrow$] ... \end{wraplines}|

\begin{wraplines}[$\rightarrow$]
Xxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
\end{wraplines}

\end{document}

포장.png

관련 정보