Inkscape + Griechisch

Tabellen und Grafiken erstellen und anordnen


Lokdog
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 26. Okt 2017, 09:06

Inkscape + Griechisch

Beitrag von Lokdog »

Hallo zusammen,

ich nutze Inkscape um Vektorgrafiken zu erstellen, die in dann in Latex verwenden möchte. Ich nutze zudem eine ältere Version von TeXnicCenter (1.0 Stable Release Condidate 1) da meine Firma keine andere zulässt.

Nun habe ich eine Grafik in inkscape erstellt. Diese besitzt auch ein Koordinatensystem mit x, y und z aber auch die Drehwinkel um die jeweiligen Achsen, die ich mit 3 griechischen Buchstaben beschrieben habe.

Wenn ich das Bild nun für Latex als PDF erstelle, erkannt Latex leider dich griechischen Zeichen nicht. Alles ist da: Bild, Koordinatensystem und X,Y und Z, außer die Griechischen Zeichen.

Wenn ich die PDF Öffne, ist jedoch auch nur das Bild und das Koord-System da. Dort fehlen X, Y & Z.

Woran könnte das liegen? Fehlt mir ein spezielles Package?

Beste Grüße,
Lokdog

Gast

Beitrag von Gast »

Wie hast du die griechischen Zeichen eingebunden? Wenn sie nicht im Mathe-Modus eingegeben sind, dann versuch das mal.

Also beispielsweise folgendes als Textobjekt erstellen:
$\Delta$

Lokdog
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 26. Okt 2017, 09:06

Beitrag von Lokdog »

Die Buchstaben wurden im Bild mit "Create edit Text Object" und unter dem Befehl STRG+U + Code, eingefügt.
$\Delta$
kann ich gar nicht eingeben. Da das "\" nicht genommen wird.

Gast

Beitrag von Gast »

Es kommt bei Inkscape sehr darauf an, welchen Export Du verwendest. Reines PDF ist bezüglich der darstellbaren Zeichen auf den in Inkscape verwendeten Zeichensatz angewiesen. Der Export als PDF+LaTeX exportiert dagegen eine PDF-Datei mit Endung .pdf und eine LaTeX-Datei mit Endung .pdf_tex. Letztere ist mit \input zu laden. In der Regel werden allerdings griechische Zeichen in diese Datei als utf8-codierter Text geschrieben. Es wird also direkt ein ð hinein geschrieben. Es wird also erwartet, dass eine utf8-codierte Datei auch gelesen und verarbeitet werden kann. Soll das Ganze (wie in Deinem Beispiel zu vermuten) Mathematik sein, so wäre das Delta hingegen gegen $\delta$ zu ersetzen. Ich kann da bei Inkscape 0.91 r13725 auch problemlos eingeben. Hier einmal ein vollständiges Minimalbeispiel dafür:
\begin{filecontents*}{\jobname.pdf_tex}
%% Creator: Inkscape inkscape 0.91, www.inkscape.org
%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010
%% Accompanies image file 'test.pdf' (pdf, eps, ps)
%%
%% To include the image in your LaTeX document, write
%%   \input{<filename>.pdf_tex}
%%  instead of
%%   \includegraphics{<filename>.pdf}
%% To scale the image, write
%%   \def\svgwidth{<desired width>}
%%   \input{<filename>.pdf_tex}
%%  instead of
%%   \includegraphics[width=<desired width>]{<filename>.pdf}
%%
%% Images with a different path to the parent latex file can
%% be accessed with the `import' package (which may need to be
%% installed) using
%%   \usepackage{import}
%% in the preamble, and then including the image with
%%   \import{<path to file>}{<filename>.pdf_tex}
%% Alternatively, one can specify
%%   \graphicspath{{<path to file>/}}
%% 
%% For more information, please see info/svg-inkscape on CTAN:
%%   http://tug.ctan.org/tex-archive/info/svg-inkscape
%%
\begingroup%
  \makeatletter%
  \providecommand\color[2][]{%
    \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}%
    \renewcommand\color[2][]{}%
  }%
  \providecommand\transparent[1]{%
    \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}%
    \renewcommand\transparent[1]{}%
  }%
  \providecommand\rotatebox[2]{#2}%
  \ifx\svgwidth\undefined%
    \setlength{\unitlength}{130.328125bp}%
    \ifx\svgscale\undefined%
      \relax%
    \else%
      \setlength{\unitlength}{\unitlength * \real{\svgscale}}%
    \fi%
  \else%
    \setlength{\unitlength}{\svgwidth}%
  \fi%
  \global\let\svgwidth\undefined%
  \global\let\svgscale\undefined%
  \makeatother%
  \begin{picture}(1,0.23222635)%
    \put(-0.01858804,0.29717445){\color[rgb]{0,0,0}\makebox(0,0)[lt]{\begin{minipage}{2.1747307\unitlength}\raggedright $\delta$\end{minipage}}}%
  \end{picture}%
\endgroup%
\end{filecontents*}
\documentclass{article}
\usepackage{xcolor}
\begin{document}
\input{\jobname.pdf_tex}
\end{document}
Im Beispiel habe ich nur das $\delta$ in Inkscape eingegeben, um keine zusätzliche .pdf-Datei zu generieren. Damit funktioniert das Minimalbeispiel auch in Overleaf ohne zusätzliche Datei.

Man kann mit Hilfe des Pakets svg übrigens mit Inkscape erzeugte SVG-Dateien, bei denen man auf korrekte Eingabe von Zeichen geachtet hat, auch direkt einbinden:
\begin{filecontents*}{\jobname-is.svg}
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->

<svg
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:cc="http://creativecommons.org/ns#"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:svg="http://www.w3.org/2000/svg"
   xmlns="http://www.w3.org/2000/svg"
   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
   width="210mm"
   height="297mm"
   viewBox="0 0 744.09448819 1052.3622047"
   id="svg2"
   version="1.1"
   inkscape:version="0.91 r13725"
   sodipodi:docname="test-is.svg">
  <defs
     id="defs4" />
  <sodipodi:namedview
     id="base"
     pagecolor="#ffffff"
     bordercolor="#666666"
     borderopacity="1.0"
     inkscape:pageopacity="0.0"
     inkscape:pageshadow="2"
     inkscape:zoom="0.35"
     inkscape:cx="375"
     inkscape:cy="520"
     inkscape:document-units="px"
     inkscape:current-layer="layer1"
     showgrid="false"
     inkscape:window-width="1024"
     inkscape:window-height="717"
     inkscape:window-x="0"
     inkscape:window-y="0"
     inkscape:window-maximized="1" />
  <metadata
     id="metadata7">
    <rdf:RDF>
      <cc:Work
         rdf:about="">
        <dc:format>image/svg+xml</dc:format>
        <dc:type
           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
        <dc:title></dc:title>
      </cc:Work>
    </rdf:RDF>
  </metadata>
  <g
     inkscape:label="Ebene 1"
     inkscape:groupmode="layer"
     id="layer1">
    <flowRoot
       xml:space="preserve"
       id="flowRoot10"
       style="font-style:normal;font-weight:normal;font-size:40px;line-height:125%;font-family:Sans;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><flowRegion
         id="flowRegion12"><rect
           id="rect14"
           width="291.42856"
           height="94.285713"
           x="42.857143"
           y="32.362206" /></flowRegion><flowPara
         id="flowPara16">$\delta$</flowPara></flowRoot>  </g>
</svg>
\end{filecontents*}
\documentclass{article}
\usepackage{svg}
\begin{document}
\includesvg{\jobname-is.svg}
\end{document}
Da dabei Inkscape aufgerufen wird, muss man pdflatex allerdings mit Option --shell-escape aufrufen!

Sollte Deine Frage letztlich darauf hinaus laufen, wie man $\delta$ bei Inkscape eingibt, bist Du hier übrigens falsch. Das ist hier kein Inkscape-Forum.

Gast

Beitrag von Gast »

PS: Das zweite Beispiel funktioniert in Overleaf nicht, weil die dortige svg-Version (2012/09/05 v1.0) zu alt ist. Aktuell ist Version 2017/05/23 v2.00b. Damit funktioniert das Beispiel.

Lokdog
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: Do 26. Okt 2017, 09:06

Beitrag von Lokdog »

Vielen Dank.

Dieses Problem habe ich gelöst. Einfach im Texteditor mit
$\Delta$
gearbeitet. Mit reinkopieren hat es funktioniert.


Danke!

Antworten