如何在每行开头添加空格

如何在每行开头添加空格

我是 TeX 的新手。我尝试在行首添加几个空格。或者一个制表符,无论什么都可以。但无论我怎么尝试,它只会在第一行添加空格。我的问题是:如何在每一行添加空格,有没有关于使用 TeX 的良好备忘单?

这是一个文本文档,我正在尝试添加 Verilog 代码以显示在文档的最终 pdf 版本中。以下是 latex 文档的示例:


There are several ways to code a mux. Here is an example below:

\textit{\qquad input wire [7:0]} a;  \\
\textit{\qquad input wire \textit[7:0]} b;  \\
\textit{\qquad input wire [2:0] s;}   \\
\textit{\qquad output wire [7:0] fab;}  

\textit{\qquad assign fab = s[0] ? b : a;}\\  

This code infers an 8bit 2:1 mux.

在此处输入图片描述

在此处输入图片描述

答案1

由于你正在尝试排版代码,也许listings包将会很有帮助。您可以使用 调整左边距xleftmargin

\documentclass{article}
\usepackage[parfill]{parskip}
\usepackage{listings}
\begin{document}
There are several ways to code a mux. Here is an example below:

\begin{lstlisting}[xleftmargin=1em]
input wire [7:0] a;
input wire [7:0] b;
input wire [2:0] s;
output wire [7:0] fab;
assign fab = s[0] ? b : a;
\end{lstlisting}

This code infers an 8bit 2:1 mux.
\end{document}

在此处输入图片描述

答案2

有多种方法可以完成文本块的缩进,其中每一行必须保持不同。

一种简单的方法是将每一行视为一个段落,在块的每一行后留一个空行。所有行将统一缩进到通常的段落缩进。缺点:不容易控制页面末尾的换行,并且如果由于不可分割的元素而导致页面间隔开,“块”的行也可能间隔开。

处理块的另一种方式(并非真正的“乳胶”方式)是将其视为一个段落,用 明确断行\\,然后应用\hangindent,例如:

\hangindent=\parindent
\textit{\qquad input wire [7:0]} a;  \\
\textit{\qquad input wire \textit[7:0]} b;  \\
\textit{\qquad input wire [2:0] s;}   \\
\textit{\qquad output wire [7:0] fab;}  

\hangindent只对单个段落有效。所示\parindent的可以用任何所需的尺寸替换,比如说.5in。 缺点:必须对每个块重复此操作;尽管可以应用宏使其更紧凑,并允许通过对宏定义进行一次修改来统一更改多个块的缩进。

附录:egreg 建议一个quote环境。只需记住右侧将与左侧缩进相同的量。

答案3

怎么样tabular

\documentclass{article}
\usepackage{array}
\begin{document}
There are several ways to code a mux. Here is an example below:

\begin{tabular}{>{\qquad\itshape\ttfamily\arraybackslash}l}
   input wire [7:0] a;  \\
   input wire \textit[7:0] b;  \\
   input wire [2:0] s;   \\
   output wire [7:0] fab; \\
   assign fab = s[0] ? b : a;
\end{tabular}

This code infers an 8bit 2:1 mux.
\end{document}

在此处输入图片描述

相关内容