Archiv verlassen und diese Seite im Standarddesign anzeigen : \rule und Beschriftung
pitterpolo
04-12-2011, 21:25
Hallo mrunix'ler,
ich habe ein wahrscheinlich simples Problem, habe aber keine Lösung dafür.
Folgendes:
Für Zeichnungen muss ich einen Maßstab angeben.
Die Linie für den Maßstab zeichen ich mit
\rule{1cm}{0.5pt}
Nun muss ich einige Angaben über diese Linie setzen, beispielsweise "1,5 µm" oder Ähnliches.
Habt ihr eine Ahnung, wie ich das hinkriege?
Ich bedanke mich im Voraus und wünsche einen angenehmen Abend.
Beste Grüße,
pitterpolo
Schweinebacke
05-12-2011, 08:46
In Zeichnungen zieht man Linien eigentlich nicht mit <code>\rule</code>, sondern mit den jeweiligen Zeichenbefehlen. Innerhalb einer <code>picture-</code>Umgebung beispielsweise mit <code>\line</code>. Innerhalb von TikZ (http://ctan.org/pkg/pgf) eher mit <code>\draw</code>, innerhalb von PStricks (http://ctan.org/pkg/pstricks) eher mit <code>\psline</code>. All diese Umgebungen/Pakete bieten natürlich auch Befehle, um Text zu positionieren. Bei <code>picture</code> wäre das <code>\makebox(Breite,Höhe)[Ausrichtung]{Text}</code>.
Ganz außerhalb einer Zeichenumgebung würde man das ganze eher mit einer Tabelle lösen:
\begin{tabular}{@{}p{1cm}@{}}\footnotesize Text\\\hline\end{tabular} oder eine <code>\parbox</code> verwenden (und dann die Linie wieder mit <code>\rule</code> innerhalb der <code>\parbox</code>).
Leider kann ich nicht genauer werden, da Du leider nicht das tatsächliche Problem benannt und mit einem vollständigen Minimalbeispiel verdeutlicht hast, sondern nur eine Frage zu Deiner uns nicht vollständig bekannten Lösungsidee gestellt hast.
pitterpolo
05-12-2011, 14:41
Hallo Schweinebacke,
meine Vorlage:
% Dokumentenklasse
\documentclass[12pt,a4paper]{scrartcl}
% Sprachpaket
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}
% Schrifttyp
\usepackage{mathptmx}
\usepackage[scaled=.90]{helvet}
\usepackage{courier}
% Box/Umrahmung
\usepackage{fancybox}
% Zeichenpaket
\usepackage{graphicx}
% itemize-Abstand-Einrückung (wenn \begin{itemize*)/\end{itemize*})
\usepackage{mdwlist}
% pdf-Dateien einbinden
%\usepackage[final]{pdfpages}
% gleich nach Definition-Zeichen
\usepackage{amsmath,amssymb,amstext}
% SI units
\usepackage[mediumspace,squaren,Gray,textstyle]{SIunits}
% Einstellungen der Seitenränder
\usepackage[left=2cm,right=2cm,top=0.75cm,bottom=0.5cm,include headfoot,includefoot]{geometry}
% Kopf- und Fußzeile
\usepackage[automark]{scrpage2}
\pagestyle{scrheadings}
% linke Kopfzeile
\ihead[]{Name \\ Gruppe}
% mittlere Kopfzeile
\chead[]{}
% rechte Kopfzeile
\ohead[]{ ~ \\ Datum}
% linke Fußzeile
\ifoot[]{}
% mittlere Fußzeile
\cfoot[]{\pagemark}
% rechte Fußzeile
\ofoot[]{}
%\setheadsepline{0.4pt}
\renewcommand*{\headfont}{\normalfont} % ändert Schriftart der Kopfzeile
\setkomafont{pagenumber}{\normalfont\bfseries} % fettegedruckte Seitennummer
% Absatzeinrichtung
\usepackage{parskip}
% zum Unterstreichen
\usepackage[normalem]{ulem}
% Zeilenabstand
%\usepackage{setspace}
%\onehalfspacing
\begin{document}
\pagenumbering{gobble}
\makebox[\textwidth]{%
\hfill
\fbox{\begin{minipage}[t]{0.3\textwidth}
\begin{flushright}
\textit{Gattung und Art}: \\
Phaseolus vulgaris \\
\textit{Familie}: \\
Fabaceae \\
\textit{Ordnung}: \\
Fabales
\end{flushright}
\end{minipage}}}
\vspace*{0.5cm}
\begin{center}
\large \textbf{Übersichtszeichnung der Stärkekörner der Gartenbohne} \\ \normalsize ($ 10 \times 40 $)
\end{center}
\vfill
\begin{flushright}
\rule{1cm}{0.5pt}\end{flushright}
\end{document}
Ich muss, wie man aus der Bezeichnung Vorlage erkennen kann, verschiedene Zeichnungen anfertigen und abgeben. Wenn ich die Zeichnungen angefertigt habe, packe ich die Blätter in den Drucker und lasse dann die ganzen Zusatzinformationen einfach auf das Blatt drucken (natürlich so, dass die Zeichnung nicht überdruckt wird oder so).
Ganz unten rechts steht:
\begin{flushright}
\rule{1cm}{0.5pt}\end{flushright}
Für die Zeichnung muss ich einen Maßstab angeben. Diesen rechne ich aus und schreibe ihn auf. Nur weiß ich jetzt nicht, wie ich beispielsweise '1,5 µm' auf die Maßstabslinie hinbekomme. Das ist das ganze Problem. Scheint nicht sonderlich schwer auszusehen, nur habe ich keine Ahnung, wie ich den entsprechenden Maßstab über die Linie bekomme.
Hoffentlich konnte ich mein Problem nachvollziehbar darlegen.
Ich bedanke mich im Voraus für eure Hilfe.
Beste Grüße,
pitterpolo
Schweinebacke
06-12-2011, 08:53
Aus Deinem Codewust geht leider noch immer nicht hervor, wie die Grafiken erstellt werden und warum Du den Maßstab nicht direkt beim Erstellen der Grafiken in die Grafiken einfügst. Es kann auch nur vermutet werden, dass Du die Grafiken mit <code>\includegraphics</code> lädst (graphicx ist übrigens kein Zeichenpaket, sondern ein Paket, um externe Bilddateien einzufügen). Es geht auch nicht daraus hervor, welche Probleme Du mit meinen bisher geäußerten Vorschlägen hast. Als Ergänzung könnte ich nun noch das Paket overpic (http://ctan.org/pkg/overpic) ins Rennen werfen. Das aber nur, das Du ja irgend einen Grund haben musst, warum Du beispielsweise meinen Vorschlag mit der <code>tabular</code> oder <code>\parbox</code> in Deinem Code nicht verwendet hast. Alleine: Ich weiß nicht warum.
Das hat Pitterpolo eigentlich erklärt: die Grafiken werden überhaupt nicht ins LaTeX-Dokument geladen, sondern dort wird nur ein entsprechender Freiraum erzeugt, und dann wird das Dokument auf Papierblätter mit den schon vorhandenen Grafiken gedruckt.
Wobei man sicher, wenn man mehr über diese Grafiken wüsste, Verbesserungsvorschläge im Sinn des Einbindens ins Dokument anbringen könnte...
Schweinebacke
06-12-2011, 15:56
Das hat Pitterpolo eigentlich erklärt: die Grafiken werden überhaupt nicht ins LaTeX-Dokument geladen, sondern dort wird nur ein entsprechender Freiraum erzeugt, und dann wird das Dokument auf Papierblätter mit den schon vorhandenen Grafiken gedruckt.
Sorry, wenn ich das nicht verstanden habe. Ein solches Vorgehen ist einfach mehr als absonderlich (und wurde mit dem Beispielcode auch nicht gerade klarer). Für mich hat sich das deshalb eher so angehört, als würde die fertigen Zeichnungen mit <code>\includegraphics</code> (oder ggf. sogar über eso-pic oder textpos) gedruckt. Man sehe einem alten Mann nach, dass er das Zusammenbauen von Zeichnungen und Text durch mehrfaches Drucken nicht für möglich gehalten hat - zumal für diesen alten Mann der Umstieg auf LaTeX vor fast zwanzig Jahren u. a. dadurch motiviert war, das endgültig nicht mehr so machen zu müssen.
Aber nach wie vor ist mir nicht klar, warum dann keine der von mir vorgeschlagenen Lösungen – insbesondere die kurz umrissene mit <code>\parbox</code> und die ausgeführte mit <code>tabular</code> – passt.
pitterpolo
06-12-2011, 19:06
Guten Abend,
tut mir leid, dass ich mich erst jetzt melde und für Verwirrung gesorgt habe.
Leider ist es mir nicht möglich (und auch nicht erlaubt) einfach so Fotos von den zu mikroskopierenden Objekten zu schießen, weswegen ich meist eine Vorlage erstelle und dann auf das Blatt bzw. den vorhandenen Freiraum zeichne oder die fertige Zeichnung nachträglich in den Drucker lege.
Der Code von Schweinebacke funktioniert sehr gut, nur möchte ich jetzt wissen, wie ich den Text zentriere, wenn der Maßstabsstrich länger als 1 cm sein soll.
Beispiel:
\begin{tabular}{@{}p{3cm}@{}}\footnotesize Text\\\hline\end{tabular}
Jetzt steht 'Text' ganz links und nicht zentriert ausgerichtet. Wie kann ich den Text zentrieren?
Ich bedanke mich im Voraus und entschuldige mich für die Verwirrung und Missverständnisse.
Einen schönen Abend wünscht,
pitterpolo
pitterpolo
06-12-2011, 20:17
Hallo,
noch eine kurze Frage:
Ich habe ja mit dem obigen Code eine gerade Linie.
Wie ist es möglich, folgendes zu zeichnen:
|------------------------------|
Also praktisch diese kleinen vertiakalen Striche an den Enden der Maßstabslinie?
Hoffentlich könnt ihr mir weiterhelfen.
Viele Grüße,
pitterpolo
Hallo,
dann mal doch noch ein Vorschlag mit tikz:
\documentclass{scrartcl}
\usepackage{tikz}
\newcommand\massstab[2][]{%Syntax: \massstab[<beschriftung>]{<strichlaenge>}
\begin{tikzpicture}[line width=0.5pt]
\draw(0,0)--node[above,inner ysep=2pt]{#1}(#2,0);% Strich mit zentrierter Beschriftung
\draw(0,2pt)--(0,-2pt);% kleiner senkrechter Strich am Anfang
\draw(#2,2pt)--(#2,-2pt);% kleiner senkrechter Strich am Ende
\end{tikzpicture}}
\begin{document}
\begin{flushright}
\massstab[Text]{2cm}
\end{flushright}
\end{document}
Gruß
Elke
pitterpolo
07-12-2011, 00:06
Guten Abend Elke,
vielen, vielen Dank für den Vorschlag.
So funktioniert es richtig gut.
Könntest du mir vielleicht sagen, welche Parameter ich wie verändern müsste, wenn ich die kleinen senkrechten Striche noch um 1-2 mm verlängern möchte? Und was muss ich ändern, wenn der Maßstabsstrich auf beispielsweise 1cm, 2cm, 3cm etc. geändert werden soll? Das 'tikz-Prinzip' mit den einzelnen Zahlen leuchtet mir leider nicht so ein...
Ich hab jetzt bisschen mit den Werten gespielt, aber entweder ändert sich nichts (aus meiner Sicht) oder es hagelt nur Fehlermeldungen und ein Output ist nicht möglich.
Vielen Dank im Voraus!
Eine angenehme Nacht wünscht,
pitterpolo
Moin moin,
Könntest du mir vielleicht sagen, welche Parameter ich wie verändern müsste, wenn ich die kleinen senkrechten Striche noch um 1-2 mm verlängern möchte?
generell? Ersetze im \massstab-Makro alle (-)2pt durch ein entsprechend längeres Maß bei gleichem Vorzeichen (vllt nicht unbedingt den bei `ysep')
Und was muss ich ändern, wenn der Maßstabsstrich auf beispielsweise 1cm, 2cm, 3cm etc. geändert werden soll?
Das hat Dir Elke bereits variabel gestaltet, dazu brauchst Du nur \massstab mit einer entsprechenden Länge aufzurufen.
Das 'tikz-Prinzip' mit den einzelnen Zahlen leuchtet mir leider nicht so ein...
Das tikz-Manual kannst Du mit `texdoc pgfmanual' auf Deiner Konsole abrufen.
Ich hab jetzt bisschen mit den Werten gespielt, aber entweder ändert sich nichts (aus meiner Sicht) oder es hagelt nur Fehlermeldungen und ein Output ist nicht möglich.
Bei Fehlermeldungen ist meist die erste von entscheidender Bedeutung, diese kannst Du aus Deiner .log kopieren und nebst Minimalbeispiel, aus dem hervorgeht, was Du wie verändert hast, hier einstellen.
BTW: falls Du die senkrechten Striche variabel haben willst, ginge vllt
\documentclass{scrartcl}
\usepackage{tikz}
\newcommand\massstab[3][2pt]{%Syntax: \massstab[halber senkrechter Strich]{Breite}{Text}
\begin{tikzpicture}[line width=0.5pt]
\draw(0,0)--node[above,inner ysep=2pt]{#3}(#2,0);% Strich mit zentrierter Beschriftung
\draw(0,#1)--(0,-#1);% kleiner senkrechter Strich am Anfang
\draw(#2,#1)--(#2,-#1);% kleiner senkrechter Strich am Ende
\end{tikzpicture}}
\begin{document}
\begin{flushright}
\massstab{2cm}{Text}\\
\massstab[5pt]{5cm}{bla}
\end{flushright}
\end{document}
MfG
Schweinebacke
07-12-2011, 10:35
Leider ist es mir nicht möglich (und auch nicht erlaubt) einfach so Fotos von den zu mikroskopierenden Objekten zu schießen, weswegen ich meist eine Vorlage erstelle und dann auf das Blatt bzw. den vorhandenen Freiraum zeichne oder die fertige Zeichnung nachträglich in den Drucker lege.
Du machst also Zeichnungen von Hand. Richtig?
Es gibt da so Geräte, die werden Scanner genannt … :eek:
Im Ernst: Was machst Du, wenn der Drucker die mühsam angefertigte Zeichnung frisst oder beim Papiereinzug mal zwei Blätter gleichzeitig eingezogen werden? Ich würde immer dazu raten, die mühsam von Hand angefertigten Zeichnungen einzuscannen. Dann kannst Du sie auch einfach mit <code>\includegraphics</code> einbinden. Den Maßstab würde ich in dem Fall sogar noch vorher mit einem Grafikprogramm anbringen, damit er garantiert auch dann noch stimmt, wenn Du irgendwann entscheiden solltest, dass es besser ist, eine Zeichnung zu vergrößern oder zu verkleinern (deshalb übrigens besser mit höherer Auflösung scannen!). Wobei zu überlegen wäre, ob bei einer Handzeichnung nicht auch ein von Hand angebrachter Maßstab schöner ist.
Hier aber mal noch ein Maßstab, der mit einfachen LaTeX-Mitteln ohne Zusatzpaket für das Zeichnen auskommt:
\documentclass{article}
\providecommand*{\LenToUnit}[1]{#1\csname @gobble\endcsname}
\newlength{\EndStrichLaenge}% Länge der Endstriche am Maßstab
\setlength{\EndStrichLaenge}{2mm}
\newcommand*{\massstab}[2]{% erster Argument: Länge, zweites Argument: Text
\setlength{\unitlength}{#1}%
\begin{picture}(1,\LenToUnit\EndStrichLaenge)
\put(0,0){\line(0,1){\LenToUnit\EndStrichLaenge}}% senkrechter Strich am
% Anfang
\put(1,0){\line(0,1){\LenToUnit\EndStrichLaenge}}% senkrechter Strich am Ende
\put(0,\LenToUnit{.5\EndStrichLaenge}){\line(1,0){ 1}}% horizontaler Strich
\put(0,\LenToUnit{.5\EndStrichLaenge}){\makebox(1, 0)[cb]{#2}}% Text
\end{picture}
}
\usepackage{siunitx}% lediglich für schöne µm
\begin{document}
\massstab{2cm}{\SI[mode=text]{1}{\micro\metre}}% \SI siehe Anleitung zum Paket siunitx
\end{document}
Nimmt man ein ganz einfaches Paket hinzu, wird es noch einfacher:
\documentclass{article}
\usepackage{picture}% erlaubt Längen in pciture-Maßen
\newlength{\EndStrichLaenge}% Länge der Endstriche am Maßstab
\setlength{\EndStrichLaenge}{2mm}
\newcommand*{\massstab}[2]{% erster Argument: Länge, zweites Argument: Text
\setlength{\unitlength}{#1}%
\begin{picture}(1,\EndStrichLaenge)
\put(0,0){\line(0,1){\EndStrichLaenge}}% senkrechter Strich am Anfang
\put(1,0){\line(0,1){\EndStrichLaenge}}% senkrechter Strich am Ende
\put(0,.5\EndStrichLaenge){\line(1,0){1}}% horzontaler Strich
\put(0,.5\EndStrichLaenge){\makebox(1,0)[cb]{#2}}% Text
\end{picture}
}
\usepackage{siunitx}% lediglich für schöne µm
\begin{document}
\massstab{2cm}{\SI[mode=text]{1}{\micro\metre}}
\end{document}
Gerade für so einfachste Zeichnungen, finde ich die ansonsten eher rudimentäre <code>pciture</code>-Umgebung von LaTeX sehr gut zu gebrauchen. Obwohl sie nur sehr wenige Befehle bereit stellt, kennt die heute – IMHO zu Unrecht! – kaum noch jemand.
pitterpolo
07-12-2011, 20:19
Guten Abend,
vielen Dank für die letzten zwei Beiträge.
Jetzt ist mir schon etwas klarer, wie ich Elkes bzw. rais' Code nach den eigenen Wünschen variieren kann.
Schweinebacke: Die Idee mit dem Scannen klingt nicht schlecht, aber ich müsste nochmal nachfragen, inwieweit so etwas akzeptiert wird, da es eigentlich Routine ist, dass man das Original zur Bewertung/Begutachtung abgibt. So oder so habe ich jetzt die Möglichkeit 'weiterzumachen'.
Ich bedanke mich erneut für alle Beiträge und wünsche noch einen angenehmen Abend.
Viele Grüße,
pitterpolo
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.