为了尽量减少在文档/项目之间复制粘贴的次数,我决定创建一个单独的文件来更新命令\maketitle
。此文件 ( title.tex
) 随后应用作任何项目(在本例中main.tex
)的输入:
文件main.tex
:
\documentclass{article}
\input{/path/to/title}
\begin{document}
\maketitle
\end{document}
文件title.tex
:
\usepackage[utf8]{inputenc}
\usepackage{geometry,graphicx}
\geometry{a4paper}
\renewcommand{\maketitle}{
\includegraphics{image}
}
这不起作用,因为提供的路径\includegraphics
是相对的。将路径设为绝对路径可以解决问题,但这不会使文件像我希望的那样具有可移植性。
有什么方法可以让我继续使用图像的相对路径吗?
答案1
% Main.tex
\documentclass{article}
\usepackage{mytitle}
\begin{document}
\MakeTitle{/path/to/image}
\end{document}
% mytitle.sty
\NeedsTeXFormat{LaTeX2e}[1994/06/01]
\ProvidesPackage{mytitle}[2012/08/12 v0.01 LaTeX package to include title]
\RequirePackage[utf8]{inputenc}
\RequirePackage[a4paper]{geometry}
\RequirePackage{graphicx}
\newcommand{\MakeTitle}[1]{\includegraphics{#1}}
\endinput
答案2
答案其实很简单:转到title.tex
并将title.sty
其放入texmf
文件夹中(连同image
文件):
%% This package provides a modified title
\NeedsTeXFormat{LaTeX2e}[1994/12/01]
\ProvidesPackage{title}[2012/08/13 v1 title]
\usepackage[utf8]{inputenc}
\usepackage{geometry,graphicx}
\geometry{a4paper}
\renewcommand{\maketitle}{
\includegraphics{image}
}
\endinput
%%
%% End of file `title.sty'.
并在中使用包main.tex
:
\documentclass{article}
\usepackage{title}
\begin{document}
\maketitle
\end{document}
我不知道这是否是正确的方法,但效果很好。
答案3
您也可以简单地创建一个命令,将要包含的内容(image.png 和 title.tex)写入目录的路径并放入其中\input
:
%main.tex
\documentclass{article}
\newcommand{\onlypath}{/some/path/things}
\input{\onlypath/title}
\begin{document}
\maketitle
\end{document}
以及在\includegraphics
命令中:
%title.tex
\usepackage[utf8]{inputenc}
\usepackage{geometry,graphicx}
\geometry{a4paper}
\renewcommand{\maketitle}{
\includegraphics{\onlypath/image}
}