插入很少行程式碼的好方法是什麼?

插入很少行程式碼的好方法是什麼?

我知道這個listings包,但似乎它不能放在我想要的地方(h浮動)。

由於我可能只想插入一行程式碼,所以我真的希望它位於我放置的位置,有什麼好的方法嗎?

答案1

選項 1:使用listings套件

LaTeX header 的簡單設定(之前\begin{document}):

\usepackage{listings}
\usepackage{color}

\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}

\lstset{frame=tb,
   language=Java,
   aboveskip=3mm,
   belowskip=3mm,
   showstringspaces=false,
   columns=flexible,
   basicstyle={\small\ttfamily},
   numbers=none,
   numberstyle=\tiny\color{gray},
   keywordstyle=\color{blue},
   commentstyle=\color{dkgreen},
   stringstyle=\color{mauve},
   breaklines=true,
   breakatwhitespace=true
   tabsize=3
   }

您可以使用 變更文件中間的預設語言\lstset{language=Java}

文件中的用法範例:

\begin{lstlisting}
  // Hello.java
  import javax.swing.JApplet;
  import java.awt.Graphics;

  public class Hello extends JApplet 
  {
    public void paintComponent(Graphics g) {
      g.drawString("Hello, world!", 65, 95);
    }    
  }
\end{lstlisting}

結果如下:

一隻忙碌的貓]

選項 2:使用verbatim環境

\begin{verbatim}
  your
  code
  example
\end{verbatim}

答案2

numberedblock套件旨在呈現短代碼區塊。從包的使用範例:

\documentclass[10pt]{article}
\usepackage{numberedblock}

\begin{document}

\parindent 0.3in
%\setlength\maxblocklabelsize{-.4in}
\setlength\blockindent{0.0in}

This is a test of the \textsf{numberedblock} style packcage, which is
specially designed to produce sequentially numbered BLOCKS of code (note
the individual code lines are not numbered, but the whole block gets a
single number, for later reference (much in the same way that equations
can get numbered in a document).  While specialized for numbering code
blocks, the commands can actually number other items, as well, in fact
anything that fits in a \LaTeX{} box.

If the code block contains no special characters, one can simply use the
command form, called \verb,\numblock,.  It cannot handle verbatim text,
but must use standard \LaTeX{} escape sequences (for line breaks,
contiguous spaces, special characters, etc.).  It puts the output in a
tt font , which is the same used in the verbatim environment:

\numblock{This text is the\\argument to the command\\where double
slashes have been\\used for line breaks}

Most useful, however, there is also the \verb,numVblock, environment,
which handles verbatim text, as seen in the next example:

\begin{numVblock}
This is the numVblock 
environment, which         (<--see contiguous spaces here)
succeeds in
incorporating verbatim text like
@##$%*$%$()||}{?><\\    \end{numVblock}

As envisioned the \verb,numVblock, environment would be ideally suited
for displaying small code blocks as part of documentation.  The code can
contain contiguous spaces and special characters:

\begin{numVblock}
      program test
      implicit none
      integer a, x
c$$$$$$$$$$$$$$$$$$$$$$$$$
      a = 0
      x = 1
   10 a = a + x
      if (a .eq. 100) stop
      goto 10
      end
\end{numVblock}

Below, I test the \verb,\numblock, command with the argument as a
box, rather than as formatted text.

\numblock{\fbox{Testing, 1,2,3 testing a box}}

Don't forget, there are settable parameters to define the block
left-indent, the format of the label, and (if needed) the labels' max
width/placement.

\end{document}

在此輸入影像描述

相關內容