I need it for doing CVs and job applications and that’s literally it.

  • 18107@aussie.zone
    link
    fedilink
    English
    arrow-up
    22
    ·
    1 day ago

    If you want something that looks amazing but takes a little extra effort to learn, LaTeX is great.

    If you want intuitive, LibreOffice should do everything you need.

    • Miaou@jlai.lu
      link
      fedilink
      arrow-up
      5
      ·
      12 hours ago

      I’d recommend typst, easier than latex, nice tooling, and has enough templates to get started

      • 18107@aussie.zone
        link
        fedilink
        English
        arrow-up
        2
        ·
        11 hours ago

        I’ll have to give that a try. I’ve been doing a lot of markdown work recently, so it already looks intuitive.

    • pinball_wizard@lemmy.zip
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      18 hours ago

      +1 to LaTex. It excels at carefully laying out a short document for maximum clarity. Perfect for a CV or resume.

      It’s worth mentioning that LaTex can signal to employers that the candidate might have a very advanced degree or equivalent nerd experience, of some kind.

      There is a perception that most LaTex users encounter it while doing advanced science work or getting an advanced degree.

      • T156@lemmy.world
        link
        fedilink
        English
        arrow-up
        3
        ·
        10 hours ago

        Though the initial learning curve can seem a bit intimidating if you’re used to something like word, which does everything for you with a single button.

        Especially for things like picking which packages to use, or how to make a functional document from it.

  • dominiquec@lemmy.world
    link
    fedilink
    English
    arrow-up
    12
    ·
    1 day ago

    Google Docs, if a cloud-based service is not out of the question and if you can live within Google’s parameters of “free”.

    LibreOffice, otherwise.

    • daggermoon@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      10 hours ago

      As someone who used Microsoft Office 2003 to get through college in 2020. They’re all the same shit.

  • nutsack@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    5
    arrow-down
    1
    ·
    edit-2
    1 day ago

    I am composing my resume with markdown and then using a python script to produce a PDF. The result is vertical and clean and machine readable:

    #!/usr/bin/env python3
    """Convert Markdown files to PDF."""
    
    import argparse
    import sys
    from pathlib import Path
    
    try:
        import markdown
        from weasyprint import HTML, CSS
    except ImportError:
        print("Missing dependencies. Install with:")
        print("  pip install markdown weasyprint")
        sys.exit(1)
    
    
    CSS_STYLES = """
    @page {
        margin: 0.5in 0.6in;
        size: letter;
    }
    body {
        font-family: "Courier New", Courier, "Liberation Mono", monospace;
        font-size: 10pt;
        line-height: 1.4;
        color: #222;
        max-width: 100%;
    }
    h1, h2, h3 {
        margin-top: 1em;
        margin-bottom: 0.3em;
        padding-bottom: 0.2em;
    }
    h1 { font-size: 16pt; }
    h2 { font-size: 13pt; }
    h3 { font-size: 11pt; }
    h4 { font-size: 10pt; font-weight: normal; margin-bottom: 0.5em;}
    ul {
        margin: 0.3em 0;
        padding-left: 1.2em;
    }
    li {
        margin-bottom: 0.2em;
    }
    p {
        margin: 0.4em 0;
    }
    p + p {
        margin-top: 0.2em;
    }
    strong {
        font-weight: bold;
    }
    """
    
    
    PAGE_BREAK_MARKER = "<!-- pagebreak -->"
    PAGE_BREAK_HTML = '<div style="page-break-before: always;"></div>'
    
    
    def process_page_breaks(html_content: str) -> str:
        """Replace page break markers with actual page break HTML."""
        return html_content.replace(PAGE_BREAK_MARKER, PAGE_BREAK_HTML)
    
    
    def md_to_html(input_path: Path) -> str:
        """Convert a Markdown file to HTML content."""
        md_content = input_path.read_text(encoding="utf-8")
        html_content = markdown.markdown(md_content)
        return process_page_breaks(html_content)
    
    
    def convert_md_to_pdf(input_paths: list[Path], output_path: Path) -> None:
        """Convert one or more Markdown files to a single PDF."""
        html_parts = []
        for i, input_path in enumerate(input_paths):
            if i > 0:
                html_parts.append(PAGE_BREAK_HTML)
            html_parts.append(md_to_html(input_path))
    
        full_html = f"""
        <!DOCTYPE html>
        <html>
        <head><meta charset="utf-8"></head>
        <body>{"".join(html_parts)}</body>
        </html>
        """
    
        HTML(string=full_html).write_pdf(output_path, stylesheets=[CSS(string=CSS_STYLES)])
        print(f"Created: {output_path}")
    
    
    def main():
        parser = argparse.ArgumentParser(description="Convert Markdown files to PDF")
        parser.add_argument("files", nargs="*", type=Path, help="Markdown files to convert")
        parser.add_argument("-o", "--output", type=Path, help="Output PDF path")
        parser.add_argument("-m", "--merge", action="store_true", help="Merge all input files into a single PDF")
        args = parser.parse_args()
    
        # Default to all .md files in current directory
        files = args.files if args.files else list(Path(".").glob("*.md"))
    
        if not files:
            print("No Markdown files found")
            sys.exit(1)
    
        if args.merge:
            if not args.output:
                print("Error: --output is required when using --merge")
                sys.exit(1)
            for md_file in files:
                if not md_file.exists():
                    print(f"File not found: {md_file}")
                    sys.exit(1)
            convert_md_to_pdf(files, args.output)
        else:
            if args.output and len(files) > 1:
                print("Error: --output can only be used with a single input file (or use --merge)")
                sys.exit(1)
    
            for md_file in files:
                if not md_file.exists():
                    print(f"File not found: {md_file}")
                    continue
                output_path = args.output if args.output else md_file.with_suffix(".pdf")
                convert_md_to_pdf([md_file], output_path)
    
    
    if __name__ == "__main__":
        main()
    
  • Apytele@sh.itjust.works
    link
    fedilink
    arrow-up
    6
    ·
    edit-2
    20 hours ago

    Libre office was too clunky for my usage. OnlyOffice is FOSS, lightweight, and cross-platform to mobile.

  • jeffw@lemmy.worldM
    link
    fedilink
    arrow-up
    34
    arrow-down
    1
    ·
    2 days ago

    LibreOffice

    Or if you can spare $10-20 you can get a gray market Office key

      • Vegan_Joe@piefed.world
        link
        fedilink
        English
        arrow-up
        15
        ·
        2 days ago

        If I understand it correctly, Microsoft sells discounted keys to organizations as part of their Volume Licensing for businesses.

        Some places on the internet take advantage of that, and sell the keys individually.

        • Tanoh@lemmy.world
          link
          fedilink
          arrow-up
          4
          arrow-down
          2
          ·
          1 day ago

          More likely it is a key purchased with a stolen credit card. Do not use gray markets

          • jeffw@lemmy.worldM
            link
            fedilink
            arrow-up
            11
            arrow-down
            2
            ·
            1 day ago

            Highly unlikely. The grey market keys are clearly for large companies. You couldn’t purchase thousands of keys with a stolen credit card.

              • jeffw@lemmy.worldM
                link
                fedilink
                arrow-up
                14
                arrow-down
                1
                ·
                1 day ago

                K. We aren’t talking about game theft, we are talking about a specific known issue that Microsoft has talked about. Thanks for linking to an unrelated article?

                • Tanoh@lemmy.world
                  link
                  fedilink
                  arrow-up
                  1
                  arrow-down
                  2
                  ·
                  1 day ago

                  Gray markets are just full of stolen stuff. To think something else is just fooling yourself.

                  Anyway, keep using it if you want but they are not “I am so smart for finding it cheaper” but rather “I don’t mind support illegal activities”