Minipage nach Links verschieben

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: Minipage nach Links verschieben

von iTob » Fr 22. Apr 2016, 16:49

Hm … ne. Die Lösungen haben eben verschiedene Vor- und Nachteile (Fußnoten, Seitenumbruch, einfache Anwendbarkeit für dein fertiges Dokument) anhand derer man überlegen kann, was die sinnvollste Variante ist …

von Trauminsel » Fr 22. Apr 2016, 16:43

gut :) habe gedacht da könnte noch was dran sein.

von iTob » Fr 22. Apr 2016, 16:43

Weil ich ehrlich gesagt nicht groß drüber nachgedacht habe, was die kürzeste Lösung sein könnte und deinen Code auch nur knapp überflogen habe ;-) da hab ich einfach schnell aufgeschrieben, was mir als erstes eingefallen ist …

von Trauminsel » Fr 22. Apr 2016, 16:23

Mit gefällt die Variante in der ich mq weiterhin verwenden kann.

und nur \ZNNEU hinzufügen muss.

Diese scheint mir am passendsten zu sein.

Ich glaube damit habe ich genau was ich will.

Da ich schon viel gelernt habe und gerne noch mehr lernen will.

Weshalb hast du nicht von Anfang an diese Lösung vorgeschlagen. Worin unterscheidet sie sich von der ersten Variante?

(Deine Idee mit dem Präfixen nehme ich wohl auf.)

von iTob » Fr 22. Apr 2016, 15:44

Danke für den Orden ;-)

1.) also allgemein wäre mir nix bekannt, was Probleme verursachen könnte. Wenn im Einzelfall was schief läuft muss man den konkreten Code kennen, um was schlaues sagen zu können.

3.) Alternativ zu meiner ersten Lösung kann man es auch so machen, dass du weiterhin {mq} benutzt und man einen Befehl \parnum definiert, der
  • einen neuen Absatz beginnt,
  • durch einen negativen Abstand zum Textrand „springt“,
  • das Label setzt und
  • eine Box mit genau dieser breite einfügt, in der die Nummer steht.
\documentclass[a4paper,11pt, draft]{report} 

\usepackage[utf8]{inputenc} 
\usepackage[T1]{fontenc} 
\usepackage{lmodern} 
\usepackage[ngerman]{babel} 

\usepackage{blindtext} 

\newcounter{parnum} 
\renewcommand\theparnum{(\Roman{parnum})} 

\newcommand{\parnum}[1]{%
   \par
   \hspace{-\leftmargin}%
   \refstepcounter{parnum}% 
   \makebox[\leftmargin][l]{\theparnum}%
    \label{zn:#1}%
    \ignorespaces
}

\newenvironment{mq}{\vspace{2ex}\begin{quote}\small}{\end{quote}\vspace{2ex}} 

\begin{document} 
Zitat \ref{zn:a} \blindtext 
\begin{mq}
   \parnum{a} 
   Wenn ich nun den Befehl  verwende, funktioniert alles wunderbar, solange der 
   Nummerierte Satz nur 1 Zeile Lang ist. Wenn er aber länger wird, sieht das 
   ganze sehr unschön aus. Kann ich den Befehl so umschreiben, dass die Zahl 
   neben dem Abschnitt steht und zwar genau in der Mitte des Abschnittes?
   
   \parnum{b} 
   Wenn ich nun den Befehl  verwende, funktioniert alles wunderbar, solange der 
   Nummerierte Satz nur 1 Zeile Lang ist. Wenn er aber länger wird, sieht das 
   ganze sehr unschön aus. Kann ich den Befehl so umschreiben, dass die Zahl 
   neben dem Abschnitt steht und zwar genau in der Mitte des Abschnittes?
\end{mq} 
\blindtext 
\end{document}
In diesem Sinne könnte mann auch dein \ZNNEU umdefinieren:
\newcommand*{\ZNNEU}[2]{%
   \par
   \hspace{-\leftmargin}%
   \refstepcounter{parnum}% 
   \begin{minipage}{\leftmargin}% \leftmargin = der durch {quote} erzeugte Einzug
      \theparnum
      \label{zn:#1}%
   \end{minipage}%
   \begin{minipage}{\linewidth}% \linewidth hier = Zeilenbreite innerhalb von {quote}
% Während \textwidth immer die Breite des Satzspiegels ist, ändert sich \linewidth je nach Kontext.
      #2
   \end{minipage}%
}
Damit wäre die Nummer dann wieder mittig, aber du hast wieder das Fußnotenproblem und die Zitate lassen sich nicht umbrechen. Dieser Befehl sollte aber nur in {quote} bzw. {mq} benutzt werden (sowie in deinem ursprünglichen Minimalbeispiel).

Die Position der Nummer kannst du übrigens verändern, wenn du bei den Minipage das optionale Argument oder ergänzt.

4.) Naja, also für LaTeX macht es keinen Unterschied, wie das Label heißt, d.h. LaTeX weiß auch nicht, ob es nen Präfix oder so gibt. Ich mache das nur, damit ich als Nutzer den Überblick behalte und stelle alles Labels ein passendes kürze voran, z.B. sec: für Abschnitte eq für Gleichungen fig für Abbildungen etc. Allerdings ist der Doppelpunkt in Labels nicht ganz ungefährlich, da er z.B. in französischen Dokumenten ein sog. aktives Zeichen ist. In deutschen und englischen Dokumenten hatte ich mit dem Doppelpunkt aber noch nie Probleme und ich kenne viele, die das auch so machen.

von Trauminsel » Fr 22. Apr 2016, 14:41

Du solltest einen Ordner für "Benutzer des Tages" bekommen ;)

1.) Ja ist klar das meine Frage eine "Linker-Fuss-Frage" ist. Aber manchmal sind ja durchaus gewisse Probleme bekannt. Oder Packete die sich nicht so vertragen

2.) Stimmt das mit dem Einrücken macht nicht viel Sinn in einer Listen-Umgebung

3.) Bis jetzt habe ich das einfach so gemacht:

\newenvironment{mq}{\vspace{2ex}\begin{quote} \small}{\end{quote}\vspace{2ex}}

Die vspace Befehle sind natürlich optional und angepasst auf meine eigene Lösung mit den Minipages. Cool wäre wenn man einfach den Befehl mq Befehl in integrieren könnte. Dann könnte ich wie gewohnt über diesen Befehl alle Zitat gemäss Wunsch von Dozent etc. darstellen.

4.) Achso jetzt sehe ich das mit dem Präfix. Habe ich nicht gewusst, dass möglich ist. Noch was gelernt. Vielen Dank :)

von iTob » Fr 22. Apr 2016, 14:31

Hi,
Trauminsel hat geschrieben:Hätte diese Lösung den Vorteil, dass sie bei einem Seitenwechsel gebrochen wird?
Ja und Nein. Der Text kann umbrochen werden, ob das nun ein Vor oder Nachteil ist hängt von der Struktur deines Dokumentes ab ;-)
Trauminsel hat geschrieben:Könnte es irgendwelche Probleme damit geben irgend einer Art. Bevor ich nämlich alles umschreibe wäre dies gut zu wissen.
Könnte es sein, das mein linkes Fuß mir mal weh tut? Will sagen: lässt sich so nicht wirklich beantworten. Im Moment fallen wir aber keine möglichen Fallstricke ein. Listen für so etwas zu nutzen ist jedenfalls recht üblich.
Trauminsel hat geschrieben:Ist es möglich die Zahl in die Mitte des Zitates zu rücken?
in dieser Form nein. Und was soll mit der Zahl passieren, wenn das Zitat vier Zeilen hat und auf zwei Seiten umbrochen wird?
Trauminsel hat geschrieben:Ich habe eine eigene Quote-Umgebung welche es mir erlaubt die Zitate gegebenfals kursiv oder und eine Schriftstufe kleiner auszugeben. Kann das noch integriert werden.
Grundsätzlich: klar. Wie hast du’s denn bei dir implementiert, dann könnte man das in der gleichen Art ergänzen, bevor ich mir da jetzt irgend eine neue Syntax mit optionalen Argumenten etc. pp. ausdenke, die dann nicht zu deinem Restdokument passt.
Trauminsel hat geschrieben:Kann es sein das der \ref{a} befehl dann nicht mehr funktioniert?
Sorry. Hatte ich vergessen dazu zuschreiben O:-) die \ref{}s funktionieren natürlich, allerdings habe ich die Labels so angelegt, dass sie den Präfix zn: haben. Wenn du das nicht willst, kannst du das einfach aus der entsprechenden Zeile löschen.

von Trauminsel » Fr 22. Apr 2016, 12:52

Kann es sein das der \ref{a} befehl dann nicht mehr funktioniert?

von Trauminsel » Fr 22. Apr 2016, 12:15

Sie ist mir Sicherheit schöner als meine Lösung :) Ausser das bei mir die Zahl in der Mitte ist :D was mir auch gut gefällt.

Edit: Und wie ich gerade festelle, kann man sich bei dir das ganze mühsame mit dem \footnotemark sparen.


EDIT2: Nachdem ich gestern alle 40 Zitate mit meinem System umgeschrieben habe... :roll: freue ich mich dennoch über deine elegantere Lösung :)

Nur noch vier Fragen:

Hätte diese Lösung den Vorteil, dass sie bei einem Seitenwechsel gebrochen wird?

Könnte es irgendwelche Probleme damit geben irgend einer Art. Bevor ich nämlich alles umschreibe wäre dies gut zu wissen.

Ist es möglich die Zahl in die Mitte des Zitates zu rücken?

Ich habe eine eigene Quote-Umgebung welche es mir erlaubt die Zitate gegebenfals kursiv oder und eine Schriftstufe kleiner auszugeben. Kann das noch integriert werden.

Sorry du machst hier etwas völlig neues das ich noch nicht kenne und momentan habe ich nicht die Zeit mich in die von dir verwendeten packages einzulesen.

Und zum Schluss nochmals: VIELEN DANK :)

von iTob » Fr 22. Apr 2016, 10:13

Ich würde das aufbauend auf einer {list}-Umgebung mit einer eigenen Umgebung lösen:
\documentclass[a4paper,11pt, draft]{report}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[ngerman]{babel}

\usepackage{blindtext}

\newcounter{parnum}
\renewcommand\theparnum{(\Roman{parnum})}

\newcommand{\znpar}[1]{ERROR: Nur in znquote nutzen!}

\newenvironment{znquote}[1]{%
   \begin{list}{}{%
      \renewcommand{\makelabel}[1]{%
         \refstepcounter{parnum}%
         \label{zn:#1}%
         \makebox[0pt][l]{\theparnum}%
      }%
      \renewcommand{\znpar}[1]{%
         \item[##1]\ignorespaces
      }
      \setlength{\labelwidth}{0pt}%
      \setlength{\labelsep}{2.5em}%
      \setlength{\leftmargin}{\labelsep}%
      \setlength{\rightmargin}{\leftmargin}%
   }%
   \item[#1]\relax
   \ignorespaces
}{%
   \end{list}%
}

\begin{document}
\blindtext
\begin{znquote}{a}
   Wenn ich nun den Befehl  verwende, funktioniert alles wunderbar, solange der
   Nummerierte Satz nur 1 Zeile Lang ist. Wenn er aber länger wird, sieht das
   ganze sehr unschön aus. Kann ich den Befehl so umschreiben, dass die Zahl
   neben dem Abschnitt steht und zwar genau in der Mitte des Abschnittes?%
      \footnote{Das Problem hier ist gelöst, bleibt noch die Frage der
      Positionierung.}
\end{znquote}
\blindtext
\begin{znquote}{b}
   Es es können in einer \verb|{znquote}|-Umgebung auch mehere nummerierte
   Absätze stehen.
   \znpar{c} Jeder nummerierte Absatz muss dann mit \verb|\znpar{<label>}|
   begonnen werden.
\end{znquote}
\blindtext
\end{document}
Viele Grüße
Tobi

Nach oben