For the recent version (4.1.1) of Texmaker, the solution provided in How do I open a pdf file in the TexMaker internal PDF viewer using a user-defined quick build sequence? should still work and open the internal PDF viewer instead of the external one.
In TeXstudio (current version: 2.7.0), however, the implementation has changed: Now the internal PDF viewer is opened by specifying txs:///view-pdf-internal
1 in the user-defined Quick Build command. So the correct call would be
pdflatex -interaction=nonstopmode %.tex|bibtex %.aux|pdflatex -interaction=nonstopmode %.tex|pdflatex -interaction=nonstopmode %.tex|pdflatex -interaction=nonstopmode %.tex|txs:///view-pdf-internal
in your case.
1Until TeXstudio version 2.5.1, it was tmx://internal-pdf-viewer
.
The PDF has a bunch of non-embedded fonts. This means that it will appear differently in different viewers and on different systems, depending on the fonts available. acroread
has its own complement of default and fallback fonts and it is probably using those. The problem in TeXStudio is most likely to be due to your system-wide font configuration i.e. which fonts you have installed and how they are configured. In particular, if you do not have the fonts the PDF requires, the system will try to substitute others. (At least, that's what happens on Linux.) Success will thus vary.
Note that even if you fix this issue in TeXStudio, the problem will persist. You should not, therefore, send a PDF with this problem to anybody else with the expectation that it will look the same or, even, display all characters in a meaningful way. As you've seen, that can in no way be guaranteed! The only good solution is to fix the PDF so that all fonts are embedded. Failing that, you could embed the file as an image. That has obvious disadvantages but should guarantee correct display on alien systems and in alien viewers.
Fonts should all be embedded when the PDF is created. Sometimes this isn't done to keep file sizes small, but mostly it is due to a combination of user ignorance. forgetfulness and poor defaults in applications which create the files.
To check that fonts are embedded, view the 'Properties' of the file in your PDF viewer (location depends on the viewer - certainly Okular, acroread
etc. provide this) or use pdffonts
at the command line. In the list of fonts, you should see that all fonts are Embedded
(subsets are fine).
If instead you see a font used with a file system location, then it is using a font on your machine because the original font was not embedded.
In this particular file, some fonts are embedded, but others are not. So the viewer or OS has to substitute for the non-embedded ones.
Here's the output of pdffonts
for the file in question:
name type encoding emb sub uni object ID
------------------------------------ ----------------- ---------------- --- --- --- ---------
Times-Roman Type 1 Custom no no no 19 0
Times-Italic Type 1 Custom no no no 20 0
Symbol Type 1 Symbol no no no 21 0
Times-Bold Type 1 Standard no no no 22 0
ADWCRP+rsfs10 Type 1C WinAnsi yes yes no 23 0
EGYAWT+CMR10 Type 1C WinAnsi yes yes no 24 0
Helvetica-Bold Type 1 Custom no no no 25 0
GNWMUE+CMSY10 Type 1C Custom yes yes yes 26 0
IQWWFY+CMMI10 Type 1C Custom yes yes yes 27 0
The crucial column is emb
which shows that only 4 of the 9 fonts are embedded. This means that the viewer (acroread
) or the OS (for applications like TeXStudio, Okular etc.) has to substitute for the remaining 5. How successful such substitution is will vary on the configuration and availability. However, the results will not look just the way they do on the machine which created the file unless the host machine has just the same fonts, suitable settings, the same versions etc. and that is quite unlikely. Mostly, you will get something reasonable. Sometimes, as you've seen, you get something in which some characters are completely wrong.
The only way to guarantee the appearance on another machine (or the same machine after some time and updates etc. or in another viewer) is to ensure all fonts are embedded.
Best Answer
You can invert the colors. The setting is only accessible via the menu of the windowed viewer:
Menu -> Configure -> Invert Colors
.The setting is persistent across viewer and program restart, so you have to do it onle once.