逐字逐句并换行吗?

逐字逐句并换行吗?

我想按原样复制/粘贴我的 latex 文件中的一些文本。我使用 \begin{verbatim} ... \end{verbatim}

问题是当我复制如下的长文本时,文本会显示在一行中,超出了页面。是否有选项可以自动换行?

例子:

curl-v-s-X POST$OS_AUTH_URL/auth/tokens?nocatalog-H“Content-Type:application/json”-d'{“auth”:{“identity”:{“methods”:[“password”],“密码”:{“用户”:{“域”:{“名称”:“'“$OS_USER_DOMAIN_NAME”'”},“名称”:“'“$OS_USERNAME”'”,“密码”:“'“$OS_PASSWORD”'”} } },“范围”:{“项目”:{“域”:{“名称”:“Default”},“名称”:“'“$OS_PROJECT_NAME”'”} } }}'|python-m json.tool

答案1

一个简单的方法是使用fancyvrbfvextra

\documentclass{article}
\usepackage{fancyvrb,fvextra}

\usepackage{showframe} % just for the example

\begin{document}

\begin{Verbatim}[breaklines]
curl -v -s -X POST $OS_AUTH_URL/auth/tokens?nocatalog -H "Content-Type: application/json" -d '{ "auth": { "identity": { "methods": ["password"],"password": {"user": {"domain": {"name": "'"$OS_USER_DOMAIN_NAME"'"},"name": "'"$OS_USERNAME"'", "password": "'"$OS_PASSWORD"'"} } }, "scope": { "project": { "domain": { "name": "Default" }, "name": "'"$OS_PROJECT_NAME"'" } } }}' | python -m json.tool
\end{Verbatim}

\end{document}

在此处输入图片描述

该示例showframe只是为了确保中断符合文本宽度。

为了获得语法高亮显示,您可以使用minted

\documentclass{article}
\usepackage{minted}

\usepackage{showframe} % just for the example

\begin{document}

\begin{minted}[breaklines]{bash}
curl -v -s -X POST $OS_AUTH_URL/auth/tokens?nocatalog -H "Content-Type: application/json" -d '{ "auth": { "identity": { "methods": ["password"],"password": {"user": {"domain": {"name": "'"$OS_USER_DOMAIN_NAME"'"},"name": "'"$OS_USERNAME"'", "password": "'"$OS_PASSWORD"'"} } }, "scope": { "project": { "domain": { "name": "Default" }, "name": "'"$OS_PROJECT_NAME"'" } } }}' | python -m json.tool
\end{minted}

\end{document}

在此处输入图片描述

两种情况下,休息后的角色都可以进行自定义。

相关内容