我想按原样复制/粘贴我的 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
一个简单的方法是使用fancyvrb
和fvextra
:
\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}
两种情况下,休息后的角色都可以进行自定义。