![为什么我的文档中出现了一条大黑线?(Tikzpicture)](https://linux22.com/image/329261/%E4%B8%BA%E4%BB%80%E4%B9%88%E6%88%91%E7%9A%84%E6%96%87%E6%A1%A3%E4%B8%AD%E5%87%BA%E7%8E%B0%E4%BA%86%E4%B8%80%E6%9D%A1%E5%A4%A7%E9%BB%91%E7%BA%BF%EF%BC%9F%EF%BC%88Tikzpicture%EF%BC%89.png)
我不明白为什么,但不知何故我的 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
.sty
rmathbr
不是包括它; 其次我编写了如下代码:
\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
; - 尝试一些
\parbox
或minipage
技巧,虽然我不确定这是否可以扩大边距并消除过满;毕竟,我几乎从不使用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
不仅合适,而且值得推荐。