为什么我的文档中出现了一条大黑线?(Tikzpicture)

为什么我的文档中出现了一条大黑线?(Tikzpicture)

我不明白为什么,但不知何故我的 pdf 中出现了一条大黑线,为什么?

头:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{verbatim}
\usepackage{tikz}
\usepackage{amsmath}
\usepackage[margin=3cm]{geometry}
\usepackage{mathtools}
\usepackage{graphicx}
\usepackage[]{mcode}
\usepackage[swedish]{babel}
\usetikzlibrary{calc}
\usepackage{float}
\usepackage{subfig}

\parindent=0pt
\setlength{\parskip}{1em}

\title{Matematisk modellering}
\author{}
\date{February 2016}
\begin{document}

代码:

\begin{figure*}[t!]\centering
\begin{tikzpicture}
[
scale=3,
>=stealth,
point/.style = {draw, circle,  fill = black, inner sep = 1pt},
dot/.style   = {draw, circle,  fill = black, inner sep = .2pt},
]
%
% the circle
\draw (0,0) circle (2.12cm);
%
% triangle nodes: just points on the circle
\node (n0) at (0,0) [point, label = below:$S$] {};
\node (n1) at (-1.5,1.5) [point, label = below:$R_{1}$] {};
\node (n2) at (-3,0) [point, label = {below left:$R_{2}$}] {};
\node (n3) at (-2.12,0) [point, label = {below left:$q$}] {};
%
% triangle edges: connect the vertices, and leave a node at the midpoint
\draw[-] (n0) -- node (a) [label = {below left:$\gamma$}] {} (n1);
\draw[-] (n0) -- node (a) [label = {below right:$\gamma$}] {} (n2);
\draw[-] (n2) -- node (a) [label = {below :$vt_{1,2}$}] {} (n3);
\end{tikzpicture}

\end{figure*}

我的圈子

答案1

首先我要指出两点:

  • 我的电脑上没有可用的软件包,这意味着它要么不在 TeXLive 中,要么是需要排版才能从中获取mcode的形式,就像在 CTAN 上一样;无论哪种方式,它都是无用的,所以一个好的 MWE 理想情况下应该.ins.styrmathbr不是包括它;
  • 其次我编写了如下代码:

    \documentclass{article}
    \usepackage[utf8]{inputenc}
    \usepackage{verbatim}
    \usepackage{tikz}
    \usepackage{amsmath}
    \usepackage[margin=3cm]{geometry}
    \usepackage{mathtools}
    \usepackage{graphicx}
    %\usepackage[]{mcode}
    \usepackage[swedish]{babel}
    \usetikzlibrary{calc}
    \usepackage{float}
    \usepackage{subfig}
    
    \parindent=0pt
    \setlength{\parskip}{1em}
    
    \title{Matematisk modellering}
    \author{}
    \date{February 2016}
    \begin{document}
    
    \begin{figure*}[t!]\centering
    \begin{tikzpicture}
    [
    scale=3,
    >=stealth,
    point/.style = {draw, circle,  fill = black, inner sep = 1pt},
    dot/.style   = {draw, circle,  fill = black, inner sep = .2pt},
    ]
    %
    % the circle
    \draw (0,0) circle (2.12cm);
    %
    % triangle nodes: just points on the circle
    \node (n0) at (0,0) [point, label = below:$S$] {};
    \node (n1) at (-1.5,1.5) [point, label = below:$R_{1}$] {};
    \node (n2) at (-3,0) [point, label = {below left:$R_{2}$}] {};
    \node (n3) at (-2.12,0) [point, label = {below left:$q$}] {};
    %
    % triangle edges: connect the vertices, and leave a node at the midpoint
    \draw[-] (n0) -- node (a) [label = {below left:$\gamma$}] {} (n1);
    \draw[-] (n0) -- node (a) [label = {below right:$\gamma$}] {} (n2);
    \draw[-] (n2) -- node (a) [label = {below :$vt_{1,2}$}] {} (n3);
    \end{tikzpicture}
    
    \end{figure*}
    
    \end{document}
    

    要得到超额规则:

    在此处输入图片描述

    因此,要么你的软件包已经过期,要么你提供的代码不是重现您的问题。

假设您拥有最新的软件包,那条黑线将显示以下消息:

Overfull \hbox (13.73792pt too wide) in paragraph at lines 45--46

那是,有一条线超出了页边距,在本例中是一张巨大的图片。因此您可以:

  • 添加final选项到article,即\documentclass[final]{article}
  • 更改margin=3cm为例如margin=2cm,这会消除过满;
  • 改为scale=3例如scale=2
  • 尝试一些\parboxminipage技巧,虽然我不确定这是否可以扩大边距并消除过满;毕竟,我几乎从不使用minipage,只使用\parbox通过为特定目的而构建的宏

记录显示,有人问过一个非常类似的问题这里,假设您先用 Google 搜索,那么您可能因为“边缘”而找不到它。现在我们有了一个很好的重复目标来回答这个问题:这个。很快会举报。

很奇怪你得到了这个。你用的是draft选项吗?因为它不应该是默认的……

补充说明

由于您使用的是 LaTeX,因此您可能更希望使用环境center而不是纯 TeX\centering宏。我不知道这种选择是否有任何大的“好处”,但通常认为在可以使用 LaTeX 的地方使用 LaTeX 是一种很好的做法,而在编写不方便使用 LaTeX 的宏时则使用 TeX,除非我大错特错。所以我建议您删除\centering并包装figure里面的\begin{center}…\end{center}

这个 MWE 既不需要inputenc,也不verbatim需要mathtools,也不需要graphicx,也不mcode需要babel,所以为了使它真正最小化,你应该删除这些包。它们只会使代码混乱,可能会让其他人认为其中一个是问题,而问题只是一个过满的盒子。我认为geometry也是不需要的。

一般来说,在发布之前,你应该检查你的代码是否重现了你的问题。在本例中,它没有重现。如果代码必须是问题的一个例子,但它没有显示问题,那么它就不是一个好的例子,对吧:)?

更新

事实证明,我在关于的部分有部分错误center。引用@barbarabeeton 的评论:

环境center在上方和下方增加了额外的空间;\centering没有。有时环境会导致过多的空间,在这种情况下,\centering不仅合适,而且值得推荐。

相关内容