从 IDE 截取 Java 代码到 Latex(文本太小)

从 IDE 截取 Java 代码到 Latex(文本太小)

我一直在尝试使我的代码截图更好地适应文档,使其从一侧填充到另一侧,而不会被拉伸为“背景”。您知道如何实现它吗?也许更改 documentclass 等?

到目前为止,我正在使用数字

\begin{figure}[h]
\includegraphics[width=1.3\textwidth] /etc/etc
\end{figure}

但要么太小但居中,要么太大而不居中且没有填满两侧(如果太大,右侧会被切断)

答案1

所以这里有两件事:你认为你想做什么以及你真正想做什么。

你真正想做的事

listings包允许漂亮地打印 Java(和其他语言)代码。

在你的序言中:

\includepackage{listings}
\lstset{language=Java,basicstyle=\ttfamily} % see texdoc listings for more details on your options here

在您的文档中:

\begin{lstlisting}
public CashDrawer put(int... values) {
    return new CashDrawer(this.twenties + values[0],
            this.tens + values[1],
            this.fives + values[2],
            this.twos + values[3],
            this.ones + values[4]
            );
}
\end{lstlisting}

您将获得一个打印精美的列表,其中突出显示了保留字等。

您可能不想要\begin{figure}[h]执行的 ¹。这将强制所有内容放在一页上,如果当前页面放不下,则会将其放在下一页的顶部或单独放在一页上。

你以为你想做但实际上不想做的事情

至于为什么你所做的会产生这样的输出,当某些东西的长度超过线的宽度时,多余的部分会默认延伸到右边距。

对于您的情况,最简单的方法是用\includegraphics以下代码替换该行:

\makebox[\linewidth]
   {\hss\includegraphics[width=1.3\textwidth]{file.png}\hss}

\hss水平拉伸和收缩的缩写。它与\makebox[\linewidth]将图形放在一个宽度为线²的框中,然后将其居中,使其延伸到边距。

另外还有免费小费

对于屏幕截图,越小越好。我不建议全屏截图,而是在显示所有相关信息的情况下,将窗口尽可能缩小,然后只截取该窗口的屏幕截图。


  1. 初学者常犯的一个错误是认为每个都tabular需要包裹在 中,table并且每个图形都需要包裹在 中figure,但事实并非如此。

  2. 请注意,这种特殊的构造在figure环境内部可以正常工作,但在环境外部会出现过度\hbox错误figure,因为它前面会有段落缩进。一般来说,我建议在自定义环境中包装显示的图形,例如:

     \NewDocumentEnvironment{displaypic}{}
         {\begin{center}}
         {\end{center}}
     ...
     \begin{displaypic}
     \includegraphics[width=.5\linewidth]{mypic.png}
     \end{displaypic}
    

相关内容