URLs auslesen und auflisten

Erstellung eines Literaturverzeichnisses mit BibTeX, Biber, BibLaTeX und Co.


555nase
Forum-Anfänger
Forum-Anfänger
Beiträge: 17
Registriert: Do 7. Mai 2015, 19:28
Wohnort: Stadtallendorf

URLs auslesen und auflisten

Beitrag von 555nase »

Hallo, liebe LaTeX-Gemeinde.

Ich habe vor, mir die Arbeit leicht zu machen. Daher würde ich gerne alle URLs in meinem Dokument auslesen und hinten im Dokument auflisten wollen, anstatt eine bib-Datei zu erzeugen. Ich habe jedoch keine Vorstellung, wie ich das bewerkstelligen soll.
Ein nebulöses Gefühl sagt mir, dass ich irgendwas mit z.B. Datatool oder Filecontents machen müsste...

Hat von den Profis hierzu jemand vielleicht eine Idee?

hier habe ich mal ein minimales Beispiel:


\documentclass[12pt,a4paper,oneside,DIV=calc,bcor=1cm,fleqn,footlines=1.2,headwidth=text,footwidth=text,listof=totoc]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[]{textcomp}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\usepackage{url}



%%%%%%%%%%%%%
\newcommand{\URL}[1]{%
	\url{#1}, abg. am \todayI.}
%%%Datum%%
\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
\newcommand{\todayI}{\the\year-\leadingzero{\month}-\leadingzero{\day}}



\begin{document}
\blindtext\footnote{\URL{http://www.fachwerkhaus.de/ein-fachwerkhaus-sanieren.html}} 
\blindtext\footnote{\URL{https://www.fachwerkhaussanierung.de/fachwerkkonstruktion}}
\blindtext\footnote{\URL{https://www.sanier.de/altbausanierung/baualtersstufen/fachwerkhaus}}
\blindtext\footnote{\URL{https://www.sanier.de/altbausanierung/baualtersstufen/fachwerkhaus}}

\blindtext\footnote{\URL{http://www.bauhandwerk.de/artikel/bhw_Gefache_dauerhaft_sanieren_2306390.html}}


\end{document}
Vielen Dank.

Benutzeravatar
Johannes_B
Moderator
Moderator
Beiträge: 5079
Registriert: Do 1. Nov 2012, 14:55
Kontaktdaten:

Beitrag von Johannes_B »

Warum denn nicht einfach die Literatur als Literatur machen?
TeXwelt - Fragen und Antworten Schaut vorbei und stellt Fragen.
LaTeX-Vorlagen?

Der Weg zum Ziel: Ruhe bewahren und durchatmen, Beiträge und unterstützende Links aufmerksam lesen, Lösungsansätze verstehen und ggf. nachfragen.

555nase
Forum-Anfänger
Forum-Anfänger
Beiträge: 17
Registriert: Do 7. Mai 2015, 19:28
Wohnort: Stadtallendorf

Beitrag von 555nase »

Guten Morgen, Johannes_B.

Ja prinzipiell schon. Ich dachte mir nur, sicher kann man ihm sagen "Lies alle Einträge, die zwischen \URL{} stehen und liste sie dort auf".

Dann kann ich mir die Arbeit sparen, ein Literaturverzeichnis zu schreiben.

Gast

Beitrag von Gast »

Du solltest bedenken, dass es in den meisten (allen?) Fällen nicht ausreichend ist, allein eine URL im Literaturverzeichnis aufzulisten. Zu einer vollständigen Quellenangabe gehört mehr als nur eine URL. Du solltest übrigens wirklich die korrekten Abrufdaten angeben und nicht \todayI. Was wenn Du das Dokument später nochmal kompilierst? Rufst Du dann schnell noch alle Seiten auf, um sicherzugehen, das alles noch so ist, wie Du es vorgefunden hast?

Aber es geht natürlich. Hier die Holzhammerlösung, bei der nur URLs angezeigt werden, die vor \showallurls angegeben wurden. Empfehlen kann ich es nicht.
\documentclass[12pt,a4paper,oneside,DIV=calc,bcor=1cm,fleqn,footlines=1.2,headwidth=text,footwidth=text,listof=totoc]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[]{textcomp}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\usepackage{url}


\usepackage{etoolbox}

\newcommand*{\urllist}{}
\newcommand{\URLprint}[1]{%
   \url{#1}, abg. am \todayI.}
\newcommand{\URL}[1]{%
   \ifinlist{#1}{\urllist}
     {}
     {\listgadd{\urllist}{#1}}
   \URLprint{#1}}

\newcommand*{\showallurls}{%
  \ifdefvoid{\urllist}
    {\typeout{no URLs given with \string\URL}}
    {\begin{itemize}
     \forlistloop{\item\URLprint}{\urllist}%
     \end{itemize}}}

\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
\newcommand{\todayI}{\the\year-\leadingzero{\month}-\leadingzero{\day}}



\begin{document}
\blindtext\footnote{\URL{http://www.fachwerkhaus.de/ein-fachwerkhaus-sanieren.html}}
\blindtext\footnote{\URL{https://www.fachwerkhaussanierung.de/fachwerkkonstruktion}}
\blindtext\footnote{\URL{https://www.sanier.de/altbausanierung/baualtersstufen/fachwerkhaus}}
\blindtext\footnote{\URL{https://www.sanier.de/altbausanierung/baualtersstufen/fachwerkhaus}}

\blindtext\footnote{\URL{http://www.bauhandwerk.de/artikel/bhw_Gefache_dauerhaft_sanieren_2306390.html}}

\showallurls
\end{document}
Da gibt es sicherlich noch Einiges zu verbessern und anzupassen, aber das Beispiel zeigt, dass es möglich ist.

Aber ich empfehle Dir trotzdem, stattdessen ein ordentliches und korrektes (Abrufdaten!) Literatur- und Quellenverzeichnis zu erstellen.

Gast

Beitrag von Gast »

Wenn man in die .aux-Datei schreibt, kann man alle URLs erfassen, auch die, die nach \showallurls kommen.

Oben hatte ich übrigens ein % vergessen, das führe zu einem ungewollten Leerzeichen.
\documentclass[12pt,a4paper,oneside,DIV=calc,bcor=1cm,fleqn,footlines=1.2,headwidth=text,footwidth=text,listof=totoc]{scrartcl}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[]{textcomp}
\usepackage[ngerman]{babel}
\usepackage{blindtext}

\usepackage{url}


\usepackage{etoolbox}

\makeatletter
\let\na@urllist\@empty
\newcommand{\URLdateprint}[1]{%
   \url{#1}, abg. am \todayI.}
\newcommand{\URL}[1]{%
   \ifinlist{#1}{\na@urllist}
     {}
     {\listgadd{\na@urllist}{#1}%
      \write\@auxout{\listgadd{\string\na@saved@urllist}{#1}}}%
   \URLdateprint{#1}}

\newcommand*{\showallurls}{%
  \ifdefvoid{\na@saved@urllist}
    {\typeout{no URLs found, you may have to rerun LaTeX}}
    {\begin{itemize}
     \forlistloop{\item\URLdateprint}{\na@saved@urllist}%
     \end{itemize}}}
\makeatother

\newcommand{\leadingzero}[1]{\ifnum #1<10 0\the#1\else\the#1\fi}
\newcommand{\todayI}{\the\year-\leadingzero{\month}-\leadingzero{\day}}

\begin{document}
\blindtext\footnote{\URL{http://www.fachwerkhaus.de/ein-fachwerkhaus-sanieren.html}}
\blindtext\footnote{\URL{https://www.fachwerkhaussanierung.de/fachwerkkonstruktion}}
\blindtext\footnote{\URL{https://www.sanier.de/altbausanierung/baualtersstufen/fachwerkhaus}}
\blindtext\footnote{\URL{https://www.sanier.de/altbausanierung/baualtersstufen/fachwerkhaus}}

\blindtext\footnote{\URL{http://www.bauhandwerk.de/artikel/bhw_Gefache_dauerhaft_sanieren_2306390.html}}

\showallurls

\blindtext\footnote{\URL{http://example.edu}}
\end{document}

Gast

Beitrag von Gast »

Vorsicht! Wenn man so etwas (wozu auch schon das Beispiel des OP gehört) macht, kann man in den URLs nicht mehr alle Zeichen einfach so verwenden. Beispielsweise gehen % oder # dann nicht mehr. Da nützt auch url nichts. Ein richtiges Literaturverzeichnis hat solche Probleme nicht (wenn man gleichzeitig url verwendet).

Antworten