Latex 问题解决

2019/02/20 10:31
阅读数 141

1. 当bib文件中包含待引用的参考文献,并且在tex中正常通过\cite{}引用,却依然提示citation undefined,pdf中显示问号时,怎么解决报错。

解决:删除根目录下的  .bbl 文件,重新编译tex之后即可正常显示。

(注:我编译时用的是pdflatex, 实操可行) 

参考来源:TexStudio提示报错citation undefined的解决

 

2. latex 缩小图像和注释的间距(非子图与子图caption距离)

\begin{figure}
\setlength{\abovecaptionskip}{-1cm} %缩小caption和图像之间的距离
\setlength{\belowcaptionskip}{-1cm} %缩小caption和下方文字的距离

参考来源:latex 缩小图像和注释的间距

 

3. Latex 插入子图时导致图片和子图caption距离太大:

我的目标是上下两行共8个子图,在双栏论文中,跨两栏插入。

我遇到的问题是子图上下或左右互不对齐。于是为了方便,我决定保存图片时将上下子图一起保存。即此时变成了4个子图。

此时遇到的问题是matplotlib保存图像时导致图像空白部分太多,导致子图caption距离图片距离太远!解决思路:保存图片时减小空白部分:

plt.tight_layout()

加上这句话就可以将画布缩减到刚好包围你的图像内容,而不保留任何冗余边界。此时问题来了:由于我各个子图大小不完全一致,加上这句话导致:

fig = plt.figure(figsize=(5,8))

导致这句话失效。如果没有tight-layout处理,所有图像输出大小都为(500,800)。而加上tight-layout可能会使得有的图像保存时截了空白,所以大小为(488,792)这种,大小不一。在latex里面导致子图高高低低,不美观。

其实问题很简单:加了tight-layout导致图像可能大小改变。不加tight-layout导致空白太多,从而使得图像与子图caption距离太大!

根本解决方案:保持图像空白最少的情况下,统一图像实际尺寸。解决方案如下:

1)按照网上裁剪图像的方法,直接对各个子图进行裁剪,或手动或代码。

2)我的做法:对最大的子图进行空白删减,然后以此图的大小为标准,重新生成其他子图。假设调整后的子图大小为(422,678),那么就将其他子图中的代码改为:

fig = plt.figure(figsize=(4.22, 6.78))

此时,子图完全对齐,caption距离也正好。

 

4.  LaTeX技巧884:如何用caption宏包格式化图表标题和子标题

 

5. 关于子图caption起点的问题

子图如果前图漏掉 \caption{},后图的编号可能不会从(a)算起。改变编号用:

\setcounter{subfigure}{0}

 

 

6. 困扰我非常久的问题:双栏模板,如何将图片(跨双栏的多个子图,且子图也有caption)插在标题(作者)以下,摘要以上的位置!

 解决办法: 

How do I put a figure* before my abstract?

\documentclass{sigchi}

\usepackage{capt-of,etoolbox}

\makeatletter
\patchcmd\@maketitle\null{{\myfigure{}\par}}{}{}
\makeatother
\begin{document}

\newcommand\myfigure{%
\centering
    \rule{2cm}{2cm}%\includegraphics
\captionof{figure}{Some stuff about the teaser}
\label{fig:teaser}
}
\title{My awesome paper}
\maketitle

\begin{abstract}Talking some more.\end{abstract}
\end{document}
View Code

效果是:

可见其实图片是在标题之上的,那么怎样放在下面呢?只需改一句话:

\documentclass{sigchi}

\usepackage{capt-of,etoolbox}

\makeatletter
\apptocmd\@maketitle{{\myfigure{}\par}}{}{}
\makeatother
\begin{document}

\newcommand\myfigure{%
\centering
    \rule{2cm}{2cm}%\includegraphics
\captionof{figure}{Some stuff about the teaser}
\label{fig:teaser}
}
\title{My awesome paper}
\maketitle

\begin{abstract}Talking some more.\end{abstract}
\end{document}
View Code

ok, 目前实现了插入了一张图片,那么多个子图并排插入咋办?

\newcommand\myfigure{%
    \centering
%    \rule{2cm}{2cm}%\includegraphics
%    \includegraphics[width=0.98\textwidth]{hpatches_part32.pdf}
%    \captionof{figure}{Some stuff about the teaser}
%    \label{fig:teaser}
%            \captionsetup{position=bottom}
%            \setcaptiontype{figure}      
                     \includegraphics[scale=0.27]{s1.pdf} 
            \hspace{0.03cm}
                    \includegraphics[scale=0.27]{s2.pdf}
            \hspace{0.03cm}            
                    \includegraphics[scale=0.27]{s3.pdf}    
            \hspace{0.03cm}
                    \includegraphics[scale=0.27]{s4.pdf}
            \hspace{0.02cm}
                    \includegraphics[scale=0.27]{s5.pdf}
    \centering
%    \begin{flushleft}
   \flushleft{\small \qquad \quad (a)\ \(l_{2}\) loss \qquad \qquad \quad (b)\ \(ll loss \qquad  \qquad \qquad  (c)\ \(l_{2}\) tt loss \qquad  \qquad  \qquad  (d)\ \(l\)  loss }
%    (a)\ \(l_{2}\) Siamese loss  (b)\ \(l_{2}^{2}\) Siamese loss(c)\ \(l_{2}\) triplet loss  (d)\ \(l_{2}^{2}\) triplet loss 
%    \end{flushleft}
 %        \refstepcounter{figure}\normalfont\textbf{Figure~\thefigure: Some stuff about the teaser}
        \captionof{figure}{sui bian xie dian sha ba}
        \label{mnist}

    
}



\maketitle
View Code

这时会发现caption可以加上,但是子图的caption无法加上,暂时没找到有效办法,但是在上面代码里,我也实现了所谓的子图caption:就是将caption手打上去,分别打印所需的caption和空格,并调整字体大小,结果证明也是可以的,效果图如下:(敏感信息。哈)

 

 

7 . 斜表头用法:制做斜线表头( diagbox 宏包


空格用法:

 



 

Latex 资源:Latex 开源小屋

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部