pdf viewer in asp.net c# : Paste image into preview pdf control Library platform web page .net winforms web browser preview-latex2-part105

Chapter 6: For advanced users
15
latex ’\PassOptionsToPackage{active}{preview} \input{filename}’
noconfig Usually the file prdefault.cfg gets loaded whenever the preview package gets
activated. prdefault.cfg is supposed to contain definitions that can cater for
otherwise bad results, for example, if a certain document class would otherwise lead
to trouble. It also can be used to override any settings made in this package, since it
is loaded at the very end of it. In addition, there may be configuration files specific
for certain preview options like auctex which have more immediate needs. The
noconfig option suppresses loading of those option files, too.
psfixbb
Dvips determines the bounding boxes from the material in the
DVI
file it under-
stands. Lots of PostScript specials are not part of that. Since the T
E
Xboxes do
not make it into the
DVI
file, but merely characters, rules and specials do, Dvips
might include far too small areas. The option psfixbb will include /dev/null as a
graphic file in the ultimate upper left and lower right corner of the previewed box.
This will make Dvips generate an appropriate bounding box.
dvips
If this option is specified as a class option or to other packages, several packages pass
things like page size information to Dvips, or cause crop marks or draft messages
written on pages. This seriously hampers the usability of previews. If this option is
specified, the changes will be undone if possible.
pdftex
If this option is set, PDFT
E
Xis assumed as the output driver. This mainly affects
the tightpage option.
xetex
If this option is set, XeT
E
Xis assumed as the output driver. This mainly affects the
tightpage option.
displaymath
will make all displayed math environments subject to preview processing. This will
typically be the most desired option.
floats
will make all float objects subject to preview processing. If you want to be more
selective about what floats to pass through to a preview, you should instead use the
\PreviewSnarfEnvironment command on the floats you want to have previewed.
textmath will make all text math subject to previews. Since math mode is used throughly
inside of L
a
T
E
Xeven for other purposes, this works by redefining \(, \) and $ and
the math environment (apparently some people use that). Only occurences of these
text math delimiters in later loaded packages and in the main document will thus
be affected.
graphics will subject all \includegraphics commands to a preview.
sections will subject all section headers to a preview.
delayed
will delay all activations and redefinitions the preview package makes until
\begin{document}. The purpose of this is to cater for documents which should
be subjected to the preview package without having been prepared for it. You can
process such documents with
latex ’\RequirePackage[active,delayed,options]{preview}
\input{filename}’
This relaxes the requirement to be loading the preview package as last package.
driver
loads a special driver file prdriver.def. The remaining options are implemented
through the use of driver files.
auctex
This driver will produce fake error messages at the start and end of every pre-
view environment that enable the Emacs package preview-latex in connection with
Paste image into preview pdf - copy, paste, cut PDF images in C#.net, ASP.NET, MVC, Ajax, WinForms, WPF
Detailed tutorial for copying, pasting, and cutting image in PDF page using C# class code
how to copy an image from a pdf file; copy images from pdf to powerpoint
Paste image into preview pdf - VB.NET PDF copy, paste image library: copy, paste, cut PDF images in vb.net, ASP.NET, MVC, Ajax, WinForms, WPF
VB.NET Tutorial for How to Cut or Copy an Image from One Page and Paste to Another
paste image into pdf; how to copy pictures from a pdf document
Chapter 6: For advanced users
16
AUCT
E
Xto pinpoint the exact source location where the previews have originated.
Unfortunately, there is no other reliable means of passing the current T
E
Xinput
position in a line to external programs. In order to make the parsing more robust,
this option also switches off quite a few diagnostics that could be misinterpreted.
You should not specify this option manually, since it will only be needed by auto-
mated runs that want to parse the pseudo error messages. Those runs will then
use \PassOptionsToPackage in order to effect the desired behaviour. In addition,
prauctex.cfg will get loaded unless inhibited by the noconfig option. This caters
for the most frequently encountered problematic commands.
showlabels
Duringthe editing process,somepeople like to see the labelnames in their equations,
figures and the like. Now if you are using Emacs for editing, and in particular
preview-latex, I’d strongly recommend that you check out the RefT
E
Xpackage which
pretty much obliterates the need for this kind of functionality. If you still want it,
standard L
a
T
E
Xprovides it with the showkeys package, and there is also the less
encompassing showlabels package. Unfortunately, since those go to some pain not
to change the page layout and spacing, they also don’t change preview’s idea of the
T
E
Xdimensions of the involved boxes. So if you are using preview for determing
bounding boxes, those packages are mostly useless. The option showlabels offers
asubstitute for them.
tightpage
It is not uncommon to want to use the results of preview as graphic images for
some other application. One possibility is to generate a flurry of
EPS
files with
dvips -E -i -Pwww -o outputfile.000 inputfile
However, in case those are to be processed further into graphic image files by Ghost-
script, this process is inefficient since all of those files need to be processed one by
one. In addition, it is necessary to extract the bounding box comments from the
EPS
files and convert them into page dimension parameters for Ghostscript in order to
avoid full-page graphics. This is not even possible if you wanted to use Ghostscript
in a single run for generating the files from a single PostScript file, since Dvips will
in that case leave no bounding box information anywhere.
The solution is to use the tightpage option. That way a single command line like
gs -sDEVICE=png16m -dTextAlphaBits=4 -r300
-dGraphicsAlphaBits=4 -dSAFER -q -dNOPAUSE
-sOutputFile=outputfile%d.png inputfile.ps
will be able to produce tight graphics from a single PostScript file generated with
Dvips without use of the options -E -i, in a single run.
The tightpage option actually also works when using the pdftex option and gener-
ating PDF files with PDFT
E
X. The resulting PDF file has separate page dimensions
for every page and can directly be converted with one run of Ghostscript into image
files.
If neither dvips or pdftex have been specified, the corresponding option will get
autodetected and invoked.
If you need this in a batch environment where you don’t want to use preview’s
automatic extraction facilities, no problem: just don’t use any of the extraction
options, and wrap everything to be previewed into preview environments. This is
how LyX does its math previews.
If the pages under the tightpage option are just too tight, you canadjust by setting
the length \PreviewBorder to a different value by using \setlength. The default
VB.NET PDF insert image library: insert images into PDF in vb.net
Insert images into PDF form field in VB.NET. An independent .NET framework component supports inserting image to PDF in preview without adobe PDF control
how to copy pictures from pdf to powerpoint; paste jpg into pdf
C# PDF insert text Library: insert text into PDF content in C#.net
adding text to PDF in preview without adobe String outputFilePath = Program.RootPath + "\\" output.pdf"; doc.Save value, The char wil be added into PDF page, 0
how to copy an image from a pdf in; how to cut pdf image
Chapter 6: For advanced users
17
value is 0.50001bp, which is half of a usual PostScript point, rounded up. If you go
below this value, the resulting page size may drop below 1bp, and Ghostscript does
not seem to like that. If you need finer control, you can adjust the bounding box
dimensions individually by changing the macro \PreviewBbAdjust with the help of
\renewcommand. Its default value is
\newcommand \PreviewBbAdjust
{-\PreviewBorder -\PreviewBorder
\PreviewBorder \PreviewBorder}
This adjusts the left, lower, right and upper borders by the given amount. The
macro must contain 4 T
E
Xdimensions after another, and you may not omit the
units if you specify them explicitly instead of by register. PostScript points have
the unit bp.
lyx
This option is for the sake of LyX developers. It will output a few diagnostics
relevant for the sake of LyX’ preview functionality (at the time of writing, mostly
implemented for math insets, in versions of LyX starting with 1.3.0).
counters This writes out diagnostics at the start and the end of previews. Only the counters
changed since the last output get written, and if no counters changed, nothing gets
written at all. The list consists of counter name and value, both enclosed in {}
braces, followed by a space. The last such pair is followed by a colon (:) if it is at
the start of the preview snippet, and by a period (.) if it is at the end. The order of
different diagnostics like this being issued depends on the order of the specification
of the options when calling the package.
Systems like preview-latex use this for keepingcounters accurate when single previews
are regenerated.
footnotes
This makes footnotes render as previews, and only as their footnote symbol. A
convenient editing feature inside of Emacs.
The following options are just for debugging purposes of the package and similar to the
corresponding T
E
Xcommands they allude to:
tracingall
causes lots of diagnostic output to appear in the log file during the preview collecting
phases of T
E
X’s operation. In contrast to the similarly named T
E
Xcommand, it will
not switch to \errorstopmode, nor will it change the setting of \tracingonline.
showbox
This option will show the contents of the boxes shipped out to the
DVI
files. It also
sets \showboxbreadth and \showboxdepth to their maximum values at the end of
loading this package, but you may reset them if you don’t like that.
6.1.2 Provided commands
\begin{preview}...\end{preview}
The preview environment causes its contents to be set as a single preview image.
Insertions like figures and footnotes (except those included in minipages) will typi-
cally lead to error messages or be lost. In case the preview package has not been
activated, the contents of this environment will be typeset normally.
\begin{nopreview}...\end{nopreview}
The nopreview environment will cause its contents not to undergo any special treat-
ment by the preview package. When preview is active, the contents will be dis-
carded like all main text that does not trigger the preview hooks. When preview
is not active, the contents will be typeset just like the main text.
C# PDF insert image Library: insert images into PDF in C#.net, ASP
inserting image to PDF in preview without adobe PDF reader installed. Able to zoom and crop image and achieve image resizing. Merge several images into PDF.
how to cut image from pdf; cut picture pdf
C# Create PDF Library SDK to convert PDF from other file formats
Load PDF from existing documents and image in SQL server. Preview PDF documents without other plug-ins. 2); // Save the new created PDF document into file doc
copy a picture from pdf to word; copy image from pdf
Chapter 6: For advanced users
18
Note that both of these environments typeset things as usual when preview is not
active. If you need something typeset conditionally, use the \ifPreview conditional
for it.
\PreviewMacro
If you want to make a macro like \includegraphics (actually, this is what is done
by the graphics option to preview) produce a preview image, you put a declaration
like
\PreviewMacro[*[[!]{\includegraphics}
or, more readable,
\PreviewMacro[{*[][]{}}]{\includegraphics}
into your preamble. The optional argument to \PreviewMacro specifies the argu-
ments \includegraphics accepts, since this is necessary information for properly
ending the preview box. Note that if you are using the more readable form, you
have to enclose the argument in a [{ and }] pair. The inner braces are necessary
to stop any included [] pairs from prematurely ending the optional argument, and
to make a single {} denoting an optional argument not get stripped away by T
E
X’s
argument parsing.
The letters simply mean
*
indicates an optional * modifier, as in \includegraphics*.
[
^^A] indicates an optional argument in brackets. This syntax is some-
what baroque, but brief.
[]
also indicates an optional argument in brackets. Be sure to have en-
cluded the entire optional argument specification in an additional pair
of braces as described above.
!
indicates a mandatory argument.
{}
indicates the same. Again, be sure to have that additional levelof braces
around the whole argument specification.
?delimiter{true case}{false case}
is a conditional. The next character is checked against being equal to
delimiter. If it is, the specification true case is used for the further pars-
ing, otherwise false case will be employed. In neither case is something
consumed from the input, so{true case} will still have to deal with the
upcoming delimiter.
@{literal sequence}
will insert the given sequence literally into the executed call of the com-
mand.
-
will just drop the next token. It will probably be most often used in the
true branch of a ? specification.
#{argument}{replacement}
is a transformation rule that calls a macro with the given argument and
replacement text on the rest of the argument list. The replacement is
used in the executed call of the command. This can be used for parsing
arbitrary constructs. For example, the [] option could manually be
implemented with the option string ?[{#{[#1]}{[{#1}]}}{}. PStricks
users might enjoy this sort of flexibility.
VB.NET PDF File Split Library: Split, seperate PDF into multiple
Divide PDF file into multiple files by outputting PDF file Independent component for splitting PDF document in preview without using external PDF control.
how to copy pictures from a pdf to word; copy image from pdf to ppt
VB.NET PDF File Compress Library: Compress reduce PDF size in vb.
enables compressing and decompressing in preview in ASP.NET to reduce or minimize original PDF document size Reduce image resources: Since images are usually or
copy pdf picture to word; how to paste a picture in a pdf
Chapter 6: For advanced users
19
:{argument}{replacement}
is again a transformation rule. As opposed to #, however, the result of
the transformation is parsed again. You’ll rarely need this.
There is a second optional argument in brackets that can be used to declare any
default action to be taken instead. This is mostly for the sake of macros that
influence numbering: you would want to keep their effects in that respect. The
default action should use #1 for referring to the original (not the patched) command
with the parsed options appended. Not specifying a second optional argument here
is equivalent to specifying [#1].
\PreviewMacro*
Asimilar invocation \PreviewMacro* simply throws the macro and all of its argu-
ments declared in the manner above away. This is mostly useful for having things
like \footnote not do their magic on their arguments. More often than not, you
don’t want to declare any arguments to scan to \PreviewMacro* since you would
want theremaining arguments tobe treatedas usualtext andtypeset in that manner
instead of being thrown away. An exception might be, say, sort keys for \cite.
Asecond optional argument in brackets can be used to declare any default action to
be taken instead. This is for the sake of macros that influence numbering: you would
want to keep their effects in that respect. The default action might use #1 for refer-
ring to the original (not the patched) command with the parsed options appended.
Not specifying a second optional argument here is equivalent to specifying [] since
the command usually gets thrown away.
As an example for using this argument, you might want to specify
\PreviewMacro*\footnote[{[]}][#1{}]
This will replacea footnote by an empty footnote, but takingany optional parameter
into account, since an optional paramter changes the numbering scheme. That way
the real argument for the footnote remains for processing by preview-latex.
\PreviewEnvironment
The macro \PreviewEnvironment works just as \PreviewMacro does, only for en-
vironments.
\PreviewEnvironment*
And the same goes for \PreviewEnvironment* as compared to \PreviewMacro*.
\PreviewSnarfEnvironment
This macro does not typeset the original environment inside of a preview box, but
instead typesets just the contents of the original environment inside of the preview
box, leaving nothing for the original environment. This has to be used for figures,
for example, since they would
1. produce insertion material that cannot be extracted to the preview properly,
2. complain with an error message about not being in outer par mode.
\PreviewOpen
\PreviewClose
Those Macros form a matched preview pair. This is for macros that behave sim-
ilar as \begin and \end of an environment. It is essential for the operation of
\PreviewOpen that the macro treated with it will open an additional group even
when the preview falls inside of another preview or inside of a nopreview environ-
ment. Similarly, the macro treated with PreviewClose will close an environment
even when inactive.
C# PDF remove image library: remove, delete images from PDF in C#.
to cut and paste image into another PDF file. Export high quality image from PDF document in .NET program. Remove PDF image in preview without adobe PDF reader
copy picture to pdf; how to copy an image from a pdf to word
How to C#: Preview Document Content Using XDoc.PowerPoint
Add necessary XDoc.PowerPoint DLL libraries into your created C# application as You may get document preview image from an existing PowerPoint file in C#.net.
pdf cut and paste image; copying images from pdf files
Chapter 6: For advanced users
20
\ifPreview
In case you need to know whether preview is active, you can use the conditional
\ifPreview together with \else and \fi.
6.2 The Emacs interface
You can use M-x customize-group RET preview-latex RET in order to customize these vari-
ables, or use the menus for it. We explain the various available options together with explaining
how they work together in making preview-latex work as intended.
preview-LaTeX-command
When you generate previews on a buffer or a region, the command in preview-
LaTeX-command gets run (that variable should only be changed with Customize since
its structure is somewhat peculiar, though expressive). As usual with AUCT
E
X, you
can continue working while this is going on. It is not a good idea to change the
file until after preview-latex has established where to place the previews which it can
only do after the L
a
T
E
Xrun completes. This run produces a host of pseudo-error
messages that get parsed by preview-latex at the end of the L
a
T
E
Xrun and give it the
necessary information about where in the source file the L
a
T
E
Xcode for the various
previews is located exactly. The parsing takes a moment and will render Emacs
busy.
preview-LaTeX-command-replacements
This variable specifies transformations to be used before calling the configured
command. One possibility is to have ‘\pdfoutput=0 ’ appended to every com-
mand starting with ‘pdf’. This particular setting is available as the shortcut
‘preview-LaTeX-disable-pdfoutput’. Since preview-latex can work with
PDF
files
by now, there is little incentive for using this option, anymore (for projects not
requiring
PDF
output, the added speed of ‘dvipng’ might make this somewhat at-
tractive).
preview-required-option-list
preview-LaTeX-command uses preview-required-option-list in order to pass
options such as auctex, active and dvips to the preview package. This means
that the user need (and should) not supply these in the document itself in case he
wants to be able to still compile his document without it turning into an incoherent
mass of little pictures. These options even get passed inwhen theuser loads preview
explicitly in his document.
The default includes an option counters that is controlled by the boolean variable
preview-preserve-counters
This option will cause the preview package to emit information that will assist in
keeping things like equation counters and section numbers reasonably correct even
when you are regenerating only single previews.
preview-default-option-list
preview-default-preamble
If the document does not call in the package preview itself (via \usepackage) in
the preamble, the preview package is loaded using default options from preview-
default-option-list and additional commands specified in preview-default-
preamble.
preview-fast-conversion
This is relevant only for
DVI
mode. It defaults to ‘On’ and results in the whole
document being processed as one large PostScript file from which the single images
C# PDF File Split Library: Split, seperate PDF into multiple files
Divide PDF file into multiple files by outputting PDF file size. Advanced component for splitting PDF document in preview without any third-party plug
paste picture pdf; copy and paste image from pdf to pdf
Chapter 6: For advanced users
21
are extracted with the help of parsing the PostScript for use of so-called
DSC
com-
ments. The bounding boxes are extracted with the help of T
E
Xinstead of getting
them from Dvips. If you are experiencing bounding box problems, try setting this
option to ‘Off’.
preview-prefer-TeX-bb
If this option is ‘On’, it tells preview-latex never to try to extract bounding boxes
from the bounding box comments of
EPS
files, but rather rely on the boxes it gets
from T
E
X. If you activated preview-fast-conversion, this is done, anyhow, since
there are no
EPS
files from which to read this information. The option defaults
to ‘Off’, simply because about the only conceivable reason to switch off preview-
fast-conversion would be that you have some bounding box problem and want
to get Dvips’ angle on that matter.
preview-scale-function
preview-reference-face
preview-document-pt-list
preview-default-document-pt
preview-scale-function determines by what factor images should be scaled when
appearing on the screen. If you specify a numerical value here, the physical size on
the screen will be that of the original paper output scaled by the specified factor, at
least if Emacs’ information about screen size and resolution are correct. The default
is to let preview-scale-from-face determine the scale function. This function
determines the scale factor by making the size of the default font in the document
match that of the on-screen fonts.
The size of the screen fonts is deduced from the font preview-reference-face
(usually the default face used for display), the size of the default font for the doc-
ument is determined by calling preview-document-pt. This function consults the
members of preview-document-pt-list in turn until it gets the desired informa-
tion. The default consults first preview-parsed-font-size, then calls preview-
auctex-font-size which asks AUCT
E
Xabout any size specification like 12pt to
the documentclass that it might have detected when parsing the document, and
finally reverts to just assuming preview-default-document-pt as the size used in
the document (defaulting to 10pt).
If you find that the size of previews and the other Emacs display clashes, something
goes wrong. preview-parsed-font-size is determinedat \begin{document} time;
if the default font size changes after that, it will not get reported. If you have an
outdated version of preview.sty in your path, the size might not be reported at all.
If in this case AUCT
E
Xis unable to find a size specification, and if you are using a
document class with a different default value (like KomaScript), the default fallback
assumption will probably be wrong and preview-latex will scale up things too large.
So better specify those size options even when you know that L
a
T
E
Xdoes not need
them: preview-latex might benefit from them. Another possibility for error is that
you have not enabled AUCT
E
X’s document parsing options. The fallback method of
asking AUCT
E
Xabout the size might be disabled in future versions of preview-latex
since in general it is more reliable to get this information from the L
a
T
E
Xrun itself.
preview-fast-dvips-command
preview-dvips-command
The regular command for turning a
DVI
file into a single PostScript file is preview-
fast-dvips-command, whilepreview-dvips-command is used for crankingouta
DVI
file where every preview is in a separate
EPS
file. Which of the two commands gets
used depends on the setting of preview-fast-conversion. The printer specified
Chapter 6: For advanced users
22
here by default is -Pwww by default, which will usually get you scalable fonts where
available. If you are experiencing problems, you might want to try playing around
with Dvips options (See Info file dvips, node ‘Command-line options’).
The conversion of the previews into PostScript or
EPS
files gets started after the
L
a
T
E
Xrun completes when Emacs recognizes the first image while parsing the error
messages. When Emacs has finished parsing the error messages, it activates all
detected previews. This entails throwing away any previous previews covering the
same areas, and then replacing the text in its visual appearance by a placeholder
looking like a roadworks sign.
preview-nonready-icon-specs
This is the roadworks sign displayed while previews are being prepared. You may
want to customize the font sizes at which preview-latex switches over between differ-
ent icon sizes, and the ascent ratio which determines how high above the base line
the icon gets placed.
preview-error-icon-specs
preview-icon-specs
Those are icons placedbefore the source code ofanopened preview and, respectively,
the image specs to be used for PostScript errors, and a normal open preview in text
representation.
preview-inner-environments
This is a list of environments that are regarded as inner levels of an outer en-
vironment when doing preview-environment. One example when this is needed
is in \begin{equation}\begin{split}...\end{split}\end{equation}, and ac-
cordingly split is one entry in preview-inner-environments.
preview-use-balloon-help
If you turn this XEmacs-only option ‘on’, then moving the mouse over previews
and icons will show appropriate help texts. This works by switching on balloon-
help-mode in the buffer if it is not already enabled. The default now is ‘off’ since
some users reported problems with their version of XEmacs. GNU Emacs has its
corresponding tooltip-mode enabled by default and in usable condition.
6.3 The preview images
preview-image-type
preview-image-creators
preview-gs-image-type-alist
What happens when L
a
T
E
Xis finished depends on the configuration of preview-
image-type. What to do for each of the various settings is specified in the variable
preview-image-creators. The options to pass into Ghostscript and what Emacs
image type to use is specified in preview-gs-image-type-alist.
preview-image-type defaults to png. For this to work, your version of Ghostscript
needs to support the png16m device. If you are experiencing problems here, you
might want to reconfigure gs-image-type-alist or preview-image-type. Recon-
figuring preview-image-creators is only necessary for adding additional image
types.
Most devices make preview-latex start up a single Ghostscript process for the entire
preview run (as opposed to one per image) and feed it either sections of a
PDF
file (if
PDFL
a
T
E
Xwas used), or (after running Dvips) sections of a single PostScript file or
separate
EPS
files insequence for conversion into
PNG
format whichcanbe displayed
much faster by Emacs. Actually, not in sequence but backwards since you are most
Chapter 6: For advanced users
23
likely editing at the end of the document. Andas an added convenience, any preview
that happens to be on-screen is given higher priority so that preview-latex will first
cater for the images that are displayed. There are various options customizable
concerning aspects of that operation, see the customization group Preview Gs for
this.
Another noteworthy setting of preview-image-type is ‘dvipng’: in this case, the
‘dvipng’ program will get run on
DVI
output (see below for
PDF
). This is in general
much faster than Dvips and Ghostscript. In that case, the option
preview-dvipng-command
will get run for doing the conversion, and it is expected that
preview-dvipng-image-type
images get produced (‘dvipng’ might be configured for other image types as well).
You will notice that preview-gs-image-type-alist contains an entry for dvipng:
this actually has nothing to with ‘dvipng’ itself but specifies the image type and
Ghostscript device option to use when ‘dvipng’ can’t be used. This will obviously
be the case for
PDF
output by PDFL
a
T
E
X, but it will also happen if the
DVI
file
contains PostScript specials in which case the affected images will get run through
Dvips and Ghostscript once ‘dvipng’ finishes.
preview-gs-options
Most interesting to the user perhaps is the setting of this variable. It contains
the default antialiasing settings -dTextAlphaBits=4 and -dGraphicsAlphaBits=4.
Decreasing those values to 2 or 1 might increase Ghostscript’s performance if you
find it lacking.
Running and feeding Ghostscript from preview-latex happens asynchronously again: you can
resume editing while the images arrive. While those pretty pictures filling in the blanks on
screen tend to make one marvel instead of work, rendering the non-displayed images afterwards
will not take away your attention and will eventually guarantee that jumping around in the
document will encounter only prerendered images.
6.4 Misplaced previews
If you are reading this section, the first thing is to check that your problem is not caused by
x-symbol in connection with an installation not supporting 8-bit characters (see Section 5.3
[x-symbol interoperation], page 12). Ifnot,here’sthebeef:
As explained previously, Emacs uses pseudo-error messages generated by the ‘preview’ pack-
age in order to pinpoint the exact source location where a preview originated. This works in
running text, but fails when preview material happens to lie in macro arguments, like the con-
tents of \emph. Those macros first read in their entire argument, munge it through, perhaps
transform it somehow, process it and perhaps then typeset something. When they finally type-
set something, where is the location where the stuff originated? T
E
X, having read in the entire
argument before, does not know and actually there would be no sane way of defining it.
For previews contained inside such a macro argument, the default behaviour of preview-latex
is to use a position immediately after the closing brace of the argument. All the previews get
placed there, all at a zero-width position, which means that Emacs displays it in an order that
preview-latex cannot influence (currently in Emacs it is even possible that the order changes
between runs). And since the placement of those previews is goofed up, you will not be able to
regenerate them by clicking on them. The default behaviour is thus somewhat undesirable.
The solution (like with other preview problems) is to tell the L
a
T
E
X‘preview’ package how
to tackle this problem (seeSection6.1[TheLaTeXstylefile],page14). Simply, you don’t need
\emph do anything at all during previews! You only want the text math previewed, so the
Chapter 6: For advanced users
24
solution is to use \PreviewMacro*\emph in the preamble of your document which will make
L
a
T
E
Xignore \emph completely as long as it is not part of a larger preview (in which case it gets
typeset as usual). Its argument thus becomes ordinary text and gets treated like ordinary text.
Note that it would be a bad idea to declare \PreviewMacro*[{{}}]\emph since then both
\emph as well as its argument would be ignored instead of previewed. For user-level macros,
this is almost never wanted, but there may be internal macros where you might want to ignore
internal arguments.
The same mechanism can be used for a number of other text-formatting commands like
\textrm, \textit and the like. While they all use the same internal macro \text@command, it
will not do to redefine just that, since they call it only after having read their argument in, and
then it already is too late. So you need to disable every of those commands by hand in your
document preamble.
Actually, we wrote all of the above just to scare you. At least all of the above mentioned
macros and a few more are already catered for by a configuration file prauctex.cfg that gets
loaded by default unless the ‘preview’ package gets loaded with the noconfig option. You can
make your own copy of this file in a local directory and edit it in case of need. You can also add
loading of a file of your liking to preview-default-preamble, or alternatively do the manual
disabling of your favorite macro in preview-default-preamble, which is customizable in the
Preview Latex group.
Documents you may be interested
Documents you may be interested