LaTeX graphics packages
LaTeX and its graphics packages do not touch the image data. TeX does not even provide
the reading of binary data. Thus LaTeX passes the image as file name reference to
the driver. Also most of the drivers are not image processing programs. They only move
the image data in a form appropriate for the output format. For example, dvips only
copies the PostScript file into the output PostScript file. Also pdfTeX often do not
need to unpack the image data and can copy the data to the PDF structures. Some PNG
files are uncompressed and compressed. But this process does not change the image data.
Driver issues
Very view drivers are able to resize an image, AFAIK Acrobat Distiller and
GhostScript does some obscure things with images like using JPEG compression for
PNG images. I do not know how this can be turned off. The related options given in Ps2pdf.htm
seems to have no effect.
But you are using pdflatex that does not change the image data.
This can be tested. Take a PNG image and convert it to PPM. Also embed
the image in a LaTeX document and run pdflatex. The program pdfimages (xpdf)
extract the image in PPM format.
convert image.png image.ppm
pdflatex test.tex
pdfimages test.pdf t
diff t-000.ppm image.ppm
The files t-000.ppm
and image.ppm
should be identical, if the PPM format
is the same (there is a binary and an ASCII variant).
** Different viewing programs**
However the programs
to view the images are different. The image viewer and the PDF viewer are usually
different programs that uses different methods for viewing. For example, a program
might use anti-aliasing, …
Scaling vs. resizing
There are no problems in scaling images in LaTeX independent of its method:
- Option
scale
- Options
width
, height
\scalebox
- …
Only the place that the image uses on the page differs, the image data
remains the same.
A different term is the resizing of an image. Then the actual number of pixels
change. Of course, an image processing program cannot invent missing details
if the image is enlarged. It can only use better or worse methods to limit
the artefacts of resizing.
Screenshots
Screens have low resolutions comparing to printed media and are usually
stupid bitmap images of the pixels on the screen even if the original
data were high quality vector data (non-pixel fonts, vector drawings).
Some hints to get better quality:
- In some cases a vector screenshot program might be available, e.g. gtk-vector-screenshot.
- A special case are web pages. They could be converted to PDF by printing or
there are programs/sites that perform the conversion. But caution, PDF, especially
PDFs from screenshot programs might contain bitmap data instead.
- Higher screen resolution with larger font/symbol settings or using settings
for visually impaired people.
- A large monitor helps that allows large windows for the screenshot programs that
can only catch the pixels inside the screen.
- And it can make sense to turn off anti-aliasing and similar (ClearType) to
get clean pixel data. Thus that a black line is displayed by black pixels and
not by many gray levels at its edges. That makes it easier to optimize the
image for the final media.
It seems that the package inputenc
is missing. Just add the line
\usepackage[utf8]{inputenc}
to the preamble.
Update:
The problem is in fact related to the generation of the table of contents, as reflected in the updated question. It seems that pdflatex
does not read the *.toc
files with proper encoding. A solution is to use xelatex
. The following example compiles on my Linux installation.
\documentclass[11pt]{article}
\usepackage{xltxtra}
\usepackage{xunicode}
\usepackage{xeCJK}
\usepackage{fontspec}
\setCJKmainfont{SimHei}
\begin{document}
\tableofcontents
\section{汉语}
汉语.
重要!
\section{English}
English.
\end{document}
Bold Font
You need to pass the BoldFont
option to xeCJK
package, that is, \usepackage[BoldFont]{xeCJK}
. This is not a real bold font, however, as it is composed from the main font.
You can specify which bold font you want in many ways. For instance,
\setCJKmainfont[BoldFont={<appropriate bold font>}]{<appropriate main font>}
Best Answer
This question cannot have general answer for ALL monitors.
The size of the PNG image on the screen depends on the screen resolution (e.g. 110.27 PPI (pixels per inch) for my MacBook), and on Retina (220 PPI) it will be twice smaller.
And the size of image inside PDF, shown at real 100%, will be monitor-independent.
Thus solution for my monitor:
will be different from yours: