我需要两个不同的使用包:一个用于浮点图(http://www.texample.net/tikz/examples/simple-flow-chart/) 和一个用于我的整个文档。
。
对于 Floatchart:
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
对于我的文档:
\usepackage[pdftex]{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
如果我插入两者,texmaker 说:包 graphicx 和包 inputenc 的选项冲突。
我该怎么办?我可以只为 floatchart 指定 usepackage 吗?
答案1
我不知道这个[pdftex]
习惯从何而来,但你不需要使用它。你也可以在这个网站上阅读一些关于它的答案,但简而言之,大多数现代软件包都知道当前的驱动程序是什么,它们可以决定。提供固定选项只会自找麻烦。
在您的示例中,TikZ 已加载,graphicx
因此您无需执行任何操作。只需加载 TikZ 即可。如果出于某种原因您不想包含该包,则将其作为图片包含。
因此,使用
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes.geometric,arrows}
并且它应该适用于这两个部分。不过,我会选择 LuaTeX,而不是字体和输入编码。
一些阅读;
答案2
两种选项/包组合可以轻松合并:
\usepackage{graphicx}
当然,不能针对文档的某些部分使用不同的驱动程序。如果您使用的是,则可以省略pdflatex
选项,因为MiKTeX 或 TeX Live 标准能够检测 PDF 模式下的 pdfTeX 并相应地设置选项。pdftex
graphics.cfg
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\usepackage[T1]{fontenc}
文档的输入编码:
\usepackage[utf8]{inputenc}
如果流程图使用的是latin1
,那么可以通过以下方式在文档中间更改输入编码\inputencoding
:
\usepackage[utf8]{inputenc}
...
\begin{document}
% UTF-8 stuff
% ...
\inputencoding{latin1}
% Flowchart with text in latin1
% ...
\inputencoding{utf8}
% Back to UTF-8
或者也latin1
可以在本地设置:
\begingroup
\inputencoding{latin1}
% Flowchart with text in latin1
% ...
\endgroup
% back to previous input encoding
答案3
\usepackage[something]{inputenc}
告诉 LaTeX 哪个输入编码期望。这是保存文档的编码。
您无法以两种不同的编码保存文档。(您可以制作两份副本 - 每种编码一份 - 但单个文件只有一种编码。)
所以你不能同时使用
\usepackage[utf8]{inputenc}
和
\usepackage[latin1]{inputenc}
对于同一篇文档,您实际上是在告诉 LaTeX,“嘿,我是一个使用 latin1 和 utf8 编码的文件!”这显然不是真的。编码适用于文件,而不适用于文件的一部分。
如果你真的需要采用不同编码的流程图(但为什么?),那么您需要将其编译为一个不同的文档并将其作为图形包含进来,或者如果它是一个独立的页面,则作为 PDF 包含进来。
请注意,您的包裹调用正在处理两种不同的编码:输入编码(inputenc
)和输出/字体编码(fontenc
)。
\usepackage[something]{fontenc}
指定要使用的输出字体编码。与输入编码不同,您能在文档中切换这些编码。(事实上,无论您在设置数学字体时做什么,LaTeX 基本上都会这样做。)
答案4
\iftrue
%\iffalse
\usepackage[latin1]{inputenc}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\else
\usepackage{graphicx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\fi
在这种情况下,使用前三个。如果你注释\iftrue
并取消注释,\iffalse
则结果将相反。