preview-latex 在单独的部分文件中

preview-latex 在单独的部分文件中

我在 i3wm 中使用 Fedora30 和 Emacs26.2、TeX 3.14159265(TeX Live 2018)和 AucTex v12.1。我正在做一个大项目(书),会创建很多 .tex 文件。问题。是否可以在 main.tex 文件之外使用 preview-latex,我在该文件中链接属于章节的部分。Preview-latex 在 main.tex 中有效,但在链接的 section.tex 文件中无效。

Main.tex 看起来像这样:

\documentclass[a4paper, 11pt, twoside, openright, ]{book} 
\title{Title}
\usepackage{import}
\usepackage{makeidx}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{caption}
\usepackage{parskip}
\usepackage{tikz}
%following 2 lines allow preview-latex for tikz in main.tex
%https://tex.stackexchange.com/questions/28564/tikzpicture-blank-in-preview#40461
\usepackage[active,float]{preview}
\PreviewEnvironment{tikzpicture} 

\makeindex

\begin{document}
\maketitle
\frontmatter
\import{./}{title.tex}
\clearpage
\thispagestyle{empty}
\tableofcontents{}
\mainmatter

\chapter*{Introduction}
\addcontentsline{toc}{chapter}{Introduction}
\markboth{Introduction}{}
\import{sections/}{intro.1.tex}

\chapter{chapter1}
\import{sections/}{ch01.section1.tex}

\backmatter
\end{document}

在我的例子中,在 ch01.section1.tex 文件中,例如:

\section{some-text} 
text...text...text...
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west] {Intersection point};
\end{tikzpicture}

通过将该章节移动到 main.tex,我可以确认我可以在 tikz 代码上使用 preview-latex(感谢tikzpicture 预览中为空白),尽管我可以看到深色背景(我猜是因为我的 emacs 背景)的绘图预览。但是,当我尝试使用 ch01.section.tex 文件时,我无法获得任何类型的预览。

我应该补充一点,我无法在单独的文件中生成任何预览乳胶。不仅 tikzpicture,而且 \section 和 \subsection 都无法预览。

当我尝试使用 preview-latex 来处理 ch.01.section1.tex 单独文件时,我得到的错误是“LaTeX 错误:缺少 \begin{document}”

有谁知道如何在单独的 .tex 文件中启用预览乳胶。

编辑:好吧,在尝试了芭芭拉的答案后,尽管我知道它与文档结构有关,而不是与我的问题有关,但我还是无意中发现了以下内容。我可以通过从 main.tex 文件运行例如 Cc Cp Cp 在单独的章节文件中获取 preview-latex。我在 main.tex 中的哪个位置执行此命令(预览点)并不重要,它将在 main.tex 和 chapter.tex 中都显示预览。为了从两个文件中删除预览,我必须在两个窗口中发出命令。无论我使用 \include 还是 \import,这都可以正常工作。

还有一件事。我不得不删除

\usepackage[active,float]{preview}

来自 main.tex,因为当那个处于活动状态时,我得到了奇怪的结果。

尽管我已经看到了我想要的东西(单独文件中的 preview-latex),但我还是会等一会儿再关闭这个问题。也许(希望)有人有更好的方法来实现这一点。

编辑2 我忘了补充一点,我必须更改 ch01.section1.tex 并添加 \begin{figure} 和 \end{figure} 才能在 ch01.section1.tex 文件中获取预览乳胶显示

\begin{figure}
\begin{tikzpicture}
\draw[gray, thick] (-1,2) -- (2,-4);
\draw[gray, thick] (-1,-1) -- (2,2);
\filldraw[black] (0,0) circle (2pt) node[anchor=west] {Intersection point};
\end{tikzpicture}
\end{figure}

答案1

发布以前在问题中的 OP 的答案,现在这里作为社区维基:

现在我可以在 emacs 中使用 preview-latex,而不是 main.tex。我仍然可以使用 main.tex 来编译 .pdf,但同时在链接文件(我的示例中为 a.tex)中,我可以使用快速 preview-latex(Cc Cp Cp)来检查 tikzpicture。

我还清除了所有以前的杂乱内容,我想,已经不再需要它们了。

不知道如何为我得到的答案点赞。但 Fran 关于 docmute 包的答案有用。没有测试过,但我猜我的链接 (\input) 文件不需要更新其前言,而只需要更新 tikzpicture 所需的内容即可。

请有人告诉我如何对我收到的那些答案表示赞同。

主文本

\documentclass{book}
%\usepackage{standalone}
\usepackage{listings}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shapes.misc}
%\usepackage[active,float]{preview}
%\PreviewEnvironment{tikzpicture} 
\usepackage{docmute}
\begin{document}
\input{a.tex}
\end{document}

特克斯

\documentclass{book}
\usepackage{listings}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usetikzlibrary{shapes.geometric}
\usetikzlibrary{shapes.misc}
\usepackage[active,float]{preview}
\PreviewEnvironment{tikzpicture} 

\begin{document}
\section{some}
some text
some more text
\begin{tikzpicture}[my shape/.style={
rectangle split, rectangle split parts=#1, draw, anchor=center}]
\node [my shape=5] at (0,1)
{abcdetghijkl\nodepart{two}b\nodepart{three}c\nodepart{four}d\nodepart{five}e};
\end{tikzpicture}
\end{document}

相关内容