
우리는 다양한 설치 지침과 기타 기술 텍스트가 포함된 PDF 문서를 LaTeX로 작성하고 있습니다. 우리의 생각은 사용자가 Serif 글꼴로 된 다양한 지침을 읽은 다음 콘솔이나 편집기에 복사하여 붙여 넣을 여러 줄의 모노타입 섹션이 있다는 것입니다. 즉 모노타입 인라인은 C와 같은 쉘스크립트입니다.
마지막으로 우리는 쉘/C/등을 선호합니다. 단편이 될 것이스케이프되지 않은(이것은 HEREDOC, <PRE>
일종의 동작입니다). 이러한 이유로 우리는 Tex 파일인 텍스트 콘텐츠에 대한 HEREDOC 동작에 대한 "목록" 패키지 및 \lstset
+ 양식을 시도했으며 이스케이프 시퀀스를 사용하지 않고 텍스트를 포함하고 텍스트 복사를 PDF의 것으로 만들려고 했습니다. 예상대로 작동합니다.\begin{lstlisting}
\usepackage[space=true]{accsupp}
그러나 이 시도는 성공하지 못했고 그 이유를 이해할 수 없습니다. 특히 복사된 텍스트가 다음과 같은 경향이 있다는 것입니다.빈 줄과 선행 공백 제외.
마지막 세부정보:
우리는 기술 글꼴로 IBM Plex Mono를 사용하는 것을 좋아합니다.
필요한 경우 각 빈 줄에 빈 공간을 추가하는 것을 허용할 수 있습니다.
우리는 페이지 바닥글(및 측면의 모든 줄 번호)이 복사 붙여넣기에 포함되지 않도록 몇 가지 트릭을 사용하려고 시도했으며 이는 꽤 잘 작동했습니다.
복사-붙여넣기가 특정 PDF 뷰어에서만 작동한다면 괜찮습니다. 그렇다면 크로스플랫폼 PDF 뷰어 중 하나가 선호될 것입니다: Evince, Chrome, Firefox, MuPDF. (더 생각나는 것이 있으면 공유해 주세요.) 제한된 플랫폼의 PDF 뷰어는 Adobe Reader 및 PDF Exchange Viewer입니다.
만약에heredoc 스타일은 라텍스에서는 불가능합니다. 그러면 우리는 그것 없이도 살 수 있습니다. 예를 들어 한 줄에 하나의 BeginAccsupp 또는 필요한 다른 조치가 있습니다.
이에 대한 귀하의 생각과 예를 공유해 주시겠습니까?
이것이 만족스럽게 이루어질 수 없다면, "htlatex"에 의해 생성된 HTML과 같은 다른 출력 언어를 사용하는 것이 어떻겠습니까? PS를 사용하는 것이 도움이 됩니까? 그렇다면 어떤 뷰어 소프트웨어가 있습니까?
우리가 시도한 Tex 코드
\LoadClass[a4paper,12pt,openright,oneside,chapter=TITLE,section=TITLE,hidelinks]
{article}
\documentclass{article}
\RequirePackage[utf8]{inputenc}
\RequirePackage[a4paper,margin=2cm]{geometry}
\RequirePackage{plex-mono}
\usepackage[space=true]{accsupp}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{listings}
\RequirePackage{xcolor}
\lstset{
% Configuration to make it unescaped and copy-paste right
%upquote=true,
%columns=fullflexible,
%showstringspaces=true,
%literate={\ }{{\copyablespace}}1,
% For the looks - make it monotype etc
%frame=tb,
%aboveskip=3mm,
%belowskip=3mm,
%numbers=left,
%numberstyle=\tiny\color{lightgray}\ttfamily, % \nonumbercopy,
%keywordstyle=\color{green},
%commentstyle=\color{blue},
%stringstyle=\color{red},
%breaklines=true,
%breakatwhitespace=true,
%tabsize=2,
%numbersep=0.5em,
%framerule=0pt,
%xleftmargin=10pt,
%xrightmargin=0pt,
breaklines=true,
backgroundcolor=\color{yellow},
%keepspaces=true,
basicstyle=\fontsize{9}{11}\ttfamily%,
%columns=fixed,
%fontadjust=true,
%showlines=false,
%showstringspaces=false
}
%\newcommand{\copyablespace}{
% \BeginAccSupp{method=hex,unicode,ActualText=0040}
%\ %
% \EndAccSupp{}
%}
% Make the line numbers not appear in copy-paste
% \newcommand{\nonumbercopy}[1]{
% \BeginAccSupp{method=hex,unicode,ActualText=00A0}#1\EndAccSupp{}
% }
% Footer
\renewcommand{\title}[1]{
\pagestyle{fancy}
\lhead{}
\rhead{}
\cfoot{\squelch{\thepage}}
}
\begin{document}
\noindent Beginning of document, serif outside unescaped part.
\begin{lstlisting}
This is the uppermost-left unescaped monotyped text, it has no indentation.
This is the second line, it has three letters of indentation
Here are some characters that prove that we can type without escaping: \{$
Now let's do an empty line:
The empty line worked fine. Copypaste this and see the copy is the same!
\end{lstlisting}
End of document, serif outside unescaped part.
\end{document}
참고자료
우리가 이미 시도한 것과 효과가 없었던 것에 대한 언급:
- 줄 시작 부분에 뷰어 독립적인 복사 가능한 공간이 있습니까?
- PDF에서 복사할 때 목록 코드 들여쓰기를 변경하지 않고 유지하는 방법은 무엇입니까?
- 목록과 함께 올바른 들여쓰기가 포함된 복사-붙여넣기 가능한 PDF 출력 생성
- 목록 목록에서 여러 공백을 복사/붙여넣는 방법은 무엇입니까?- ** 여기서 다른 기사를 참조하면 "PDF에서 공백 문자를 안정적으로 복사할 수 없습니다"라고 나와 있습니다. 이것이 올바른 설명인지 확실하지 않습니다. 이것이 바로 이 질문의 맨 아래로 이동하기 위해 이 게시물을 게시하는 이유입니다. :)
- 목록 패키지의 선행 공백과 빈 줄을 복사하여 붙여넣기(pdf)
- https://www.monperrus.net/martin/copy-pastable-listings-in-pdf-from-latex
더 많은 AccSup 토론이 있습니다.표 형식의 내용을 복사 가능하게 만드는 기술.