是否有一个简单的解决方案可以将 HTTP 方法后的所有路径放在同一条垂直线上?
\begin{description}
\item[\texttt{GET \quad/}] Test
\item[\texttt{GET /users/sign\_in}] Test
\item[\texttt{POST /users/sign\_in}] Test
\item[\texttt{DELETE /users/sign\_out}] Test
\item[\texttt{GET /backend}] Test
\item[\texttt{GET /backend/users}] Test
\item[\texttt{POST /backend/users}] Test
\item[\texttt{GET /backend/users/new}] Test
...
\end{description}
不幸的是,我无法将制表符环境与描述列表混合使用。描述列表是不是执行此操作的错误元素?
我还需要页面普通文本区域中的所有内容。
答案1
我提出了两种可能的解决方案,使用itemize
而不是description
。
(1)将路径移到项目标签之外(但必须使用 更改字体两次\fonttt{}
)
\begin{itemize}
\item[\texttt{GET}] \texttt{/} Test
\item[\texttt{GET}] \texttt{/users/sign\_in} Test
\item[\texttt{POST}] \texttt{/users/sign\_in} Test
\end{itemize}
(2)如果所有内容都采用单色字体,则使用起来更方便\ttfamily
,而且您不需要\texttt{}
在每个项目上都使用单色字体。
\begin{itemize}\ttfamily
\item[GET] / Test
\item[GET] /users/sign\_in Test
\item[POST] /users/sign\_in Test
\end{itemize}
编辑:使用双反斜杠来换行。
\begin{itemize}
\item[\texttt{GET}] \texttt{/}\\ Test
\item[\texttt{GET}] \texttt{/users/sign\_in}\\ Test
\item[\texttt{POST}] \texttt{/users/sign\_in}\\ Test
\end{itemize}
\begin{itemize}\ttfamily
\item[GET] /\\ Test
\item[GET] /users/sign\_in\\ Test
\item[POST] /users/sign\_in\\ Test
\end{itemize}
答案2
我不认为我的解决方案tabto
适合你,假设你的“测试”可以换到下一行。也许最简单的解决方案是使用类似的东西tabularx
:
\documentclass[12pt,preview,varwidth=true,border=1mm]{standalone}
\usepackage{tabularx}
\newcommand\Mfmt[1]{\textbf{\textrm{#1}}}
\newcommand\longTest{This is a test, a longer test that wraps to two lines.}
\begin{document}
{\ttfamily
\begin{tabularx}{10cm}{lX}
\Mfmt{GET} & / \linebreak Test \\
\Mfmt{GET} & /users/sign\_in \linebreak \longTest \\
\Mfmt{POST} & /users/sign\_in \linebreak Test \\
\Mfmt{DELETE} & /users/sign\_out \linebreak Test \\
\Mfmt{GET} & /backend \linebreak Test \\
\Mfmt{GET} & /backend/users \linebreak Test \\
\Mfmt{POST} & /backend/users \linebreak Test \\
\Mfmt{GET} & /backend/users/new \linebreak Test
\end{tabularx}}
\end{document}
tabto
这是使用无法与长“测试”一起使用的解决方案:
\documentclass[12pt,preview,varwidth=true,border=1mm]{standalone}
\usepackage{tabto}
\newlength\ttl
\begin{document}
{\ttfamily
\settowidth\ttl{DELETE}
\begin{description}
\item[GET] \tabto{\ttl}/ \tabto{\ttl} Test
\item[GET] \tabto{\ttl}/users/sign\_in \tabto{\ttl} Test
\item[POST] \tabto{\ttl}/users/sign\_in \tabto{\ttl} Test
\item[DELETE] \tabto{\ttl}/users/sign\_out \tabto{\ttl} Test
\item[GET] \tabto{\ttl}/backend \tabto{\ttl} Test
\item[GET] \tabto{\ttl}/backend/users \tabto{\ttl} Test
\item[POST] \tabto{\ttl}/backend/users \tabto{\ttl} Test
\item[GET] \tabto{\ttl}/backend/users/new \tabto{\ttl} Test
\end{description}}
\end{document}