Latex设置图片等资源文件和.bib 文件以及输出文件与 .tex文件不在同一目录

本文介绍如何在LaTeX环境中配置不同目录下的资源文件,包括图片、.bib文件及输出文件等,并解决了bibtex找不到.aux文件的问题。
环境

\Latex :

xelatex --version
XeTeX 3.14159265-2.6-0.99991 (TeX Live 2014)
bibtex --version
BibTeX 0.99d (TeX Live 2014)

OS:
OS X 10.9.4

目标:

设置图片等资源文件和.bib 文件以及输出文件与 .tex文件不在同一目录

folder
    ├─notes  
    │  ├─sample.tex
    │  ├─sample
    │  │  ├─fig1.jpg
    │  │  └─fig2.jpg
    │  └─output
    │      ├─sample.aux
    │      ├─sample.bbl
    │      ├─sample.blg
    │      ├─sample.log
    │      ├─sample.out
    │      ├─sample.pdf
    │      ├─sample.synctex.gz
    │      └─sample.toc
    └─pdfs
        ├─refarticle.pdf
        └─refarticle.bib
引入图片等资源文件:

如何在编译 .tex 文件的时候找到图片等资源文件,只需要在引入图片的时候指定路径就可以了。如:

\begin{figure}
   \centering
   \includegraphics[scale=0.6]{sample/fig1.jpg}
   \caption{宋赵爽在《周髀算经》注中作的弦图(仿制),该图给出了勾股定理的一个极具对称美的证明。}
   \label{fig:xiantu}
\end{figure}
引用文件 .bib:

对于 .bib 文件可以在\bibliography{path_to_bib_file/bibfile}[1][3],当然如果每个都这样加就比较麻烦,另外一种方式对于 TeXLive 是设置环境变量 BIBINPUTS1 ,如:BIBINPUTS=.:/path-to-bibfile。而 MiKTex 是 bibtex -include-directory=sty -include-directory=bib document.tex[2][4]

输出目录:

使用 xelatex 的 -output-direcotry 选项设置

xelatex -output-directory=output sample.tex
bibtex 找不到 .aux 文件的错误
bibtex: Not writing to <project-path>/src.blg (openout_any = p). 
I couldn't open file name <project-path>/src.blg

修改 texmf.cnf 文件进行解决[5][6],将 openout_any = p 改为 openout_any = a

我的 OS X 10.9.2 位置是

/usr/local/texlive/2014/texmf-dist/web2c/texmf.cnf
/usr/local/texlive/2014/texmf.cnf

经测试,下面那个优先级比较高,需要修改下面那个,这里改为 a

texmf.cnf 里也有说明:

 % Allow Tex \openin, \openout, or \input on filenames starting with `.'
 % (e.g., .rhosts) or outside the current tree (e.g., /etc/passwd)?
 % a (any)        : any file can be opened.
 % r (restricted) : disallow opening "dotfiles".
 % p (paranoid)   : as `r' and disallow going to parent directories, and
 %                  restrict absolute paths to be under $TEXMFOUTPUT.

参考资料:
[1] http://tex.stackexchange.com/questions/120427/where-should-i-put-the-bib-file-to-use-it-directly-in-bibliographybibfile
[2] https://www.tug.org/pipermail/tex-live/2010-May/025698.html
[3] http://tex.stackexchange.com/questions/192917/include-all-bib-files-in-one-directory-to-a-bibliography
[4] http://tex.stackexchange.com/questions/120402/undefined-control-sequence-while-using-bib-file-for-references/120426#120426
[5] http://jansoehlke.com/2012/09/bibtex-going-openout_any-p/
[6] http://tex.stackexchange.com/questions/12686/how-do-i-run-bibtex-after-using-the-output-directory-flag-with-pdflatex-when-f


  1. Windows下未测试
打开下面链接,直接免费下载资源: https://renmaiwang.cn/s/8iisa ### LaTeX插入图片的方法技巧#### 一、前言在使用LaTeX进行文档排版时,插入图片是一项常见的需求。无论是撰写学术论文、技术报告还是书籍等,合理地运用图片可以使得文档内容更加直观易懂。本文将详细介绍如何在LaTeX插入图片,并提供一些实用的技巧。#### 二、基础概念在LaTeX中,通常使用`figure`环境来插入图片,并通过`\includegraphics`命令指定图片路径大小。此外,还可以为图片添加图注(Caption)标签(Label),以便于引用。#### 三、插入图片的基本语法基本的插入图片语法如下:```latex\begin{figure}[位置参数] \centering \includegraphics[选项]{图片文件名} \caption{图片说明} \label{fig:图片标签}\end{figure}```- **位置参数**:可选,用来控制图片的位置,常见的有`h`(当前位置)、`t`(页面顶部)、`b`(页面底部)、`p`(单独一页)。- **选项**:可选,用来调整图片大小或旋转角度等。- **图片文件名**:图片文件的完整路径或相对路径。- **图片说明**:图片下方显示的文字说明。- **图片标签**:用于后续引用该图片。#### 四、任意位置插入图片有时候,我们希望图片能够出现在文档中的特定位置,而非由LaTeX自动安排。此时,可以使用自定义的`figurehere`环境来实现这一目的:```latex\makeatletter\newenvironment{figurehere}{\def\@captype{figure}}{}\makeatother\begin{figurehere} \centering \i
### 使用LaTeX上传图片的方法 当准备稿件并使用LaTeX格式时,为了确保图像能够正确嵌入文档中,需遵循特定的方式处理图形文件。在LaTeX环境中插入图片主要依赖于`graphicx`包的支持[^1]。 #### 安装必要的软件包 确保已安装了支持图形操作的宏包,在导言区加入如下命令来加载此功能: ```latex \usepackage{graphicx} ``` #### 插入单张图片 通过`\includegraphics`指令可以方便地引入外部图像资源到文中指定位置。下面给出了一种基本的应用模式: ```latex \begin{figure}[htbp] \centering % 图片路径及名称 \includegraphics[width=0.8\textwidth]{example-image-a} \caption{这是一个示例图说明文字} \label{fig:sample_image_a} \end{figure} ``` 这里需要注意的是,替换掉`example-image-a`为实际存储于项目目录下的图片文件名(含扩展名),并且调整宽度参数使图片适应页面布局需求。 #### 设置子图结构 对于多幅关联的小型插图,则推荐采用`subfigure`环境来进行编排管理: ```latex \usepackage{subcaption} ... \begin{figure*}[t!] \centering \begin{subfigure}{0.49\linewidth} \centering \includegraphics[width=\linewidth]{image-b} \caption{} \label{fig:image_b} \end{subfigure} \hfill \begin{subfigure}{0.49\linewidth} \centering \includegraphics[width=\linewidth]{image-c} \caption{} \label{fig:image_c} \end{subfigure} \caption{(a) (b) 的描述性标题} \label{fig:combined_images_bc} \end{figure*} ``` 上述代码片段展示了如何创建两列排列的子图表,并为其分配独立标签以便后续交叉引用。 #### 文件夹组织建议 为了避免混乱以及简化维护工作,强烈建议将所有的媒体素材集中存放在单独的子文件夹内,比如命名为`figures`或类似的命名方式。这样仅有助于保持项目的整洁有序,而且便于版本控制系统追踪变化情况。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值