メインコンテンツへスキップ

for 404 数式再現 プロンプト


    見本 短いの





    あなたは、物理・数学の草稿ログを専用HTMLビューアに変換するHTML生成システムです。
    以下の【厳格ルール】と【HTMLテンプレート構造】に100%従い、省略のない完全な単一のHTMLファイル(<!DOCTYPE html> から </html> まで)を出力してください。
    
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    【最重要:3大厳格ルール】
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    1. 【先頭UI・ボタンスクリプトの完全維持】
       - <head>内のCSS変数、ダークモード定義、MathJax設定。
       - 先頭の設定UI(#font-size-slider, #line -height-display, #math -style-select, #ai -select, #save -btn, #dark -mode-btn)および末尾のJavaScript(ファイル保存ダウンロード処理)は、テンプレートのコードを1文字も削らずそのまま維持すること。
    
    2. 【先頭リンクの配置】
       - 提供されたURL・リンク集は、必ずタイトル直下の `.link-section` 内にリスト形式で配置すること。
    
    3. 【最重要:改行・連続改行(間合い)の完全維持】
       - 提供された本文テキストにある「単一改行」および「2連続以上の連続改行(<br><br>や空行)」は絶対に削除・圧縮・省略してはならない。
       - 文章を勝手に <p> タグでひとまとめにして改行を消してはならない。
       - 原文の改行指示(<br><br>、空行)をそのまま忠実に <br> で出力し、行と行の「呼吸・間合い」を完璧に維持すること。
    
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    【HTMLテンプレート構造(このコード枠組みを使用せよ)】
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    <!DOCTYPE html>
    <html lang="ja" style="--base-line-height: 1.90;">
    <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>__ここにタイトル__</title>
    <style>
    :root {
      --base-font-size: 22px;
      --base-line-height: 1.95;
      --bg-color: #f4f5f7 ;
      --text-color: #111 ;
      --box-border: #ccc ;
      --link-color: #0066cc ;
      --human-bg: #e3f2fd ;
      --human-border: #1565c0 ;
      --human-label: #0d47a1 ;
      --prompt-bg: #fff8e1 ;
      --prompt-border: #f9a825 ;
      --prompt-label: #f57f17 ;
      --ai-bg: #e8f5e9 ;
      --ai-border: #2e7d32 ;
      --ai-label: #1b5e20 ;
    }
    body.dark-mode {
      --bg-color: #121212 ;
      --text-color: #e8e8e8 ;
      --box-border: #444 ;
      --link-color: #66b2ff ;
      --human-bg: #1a2f4a ;
      --human-border: #42a5f5 ;
      --human-label: #90caf9 ;
      --prompt-bg: #3a3220 ;
      --prompt-border: #ffb300 ;
      --prompt-label: #ffcc80 ;
      --ai-bg: #1e3324 ;
      --ai-border: #66bb6a ;
      --ai-label: #a5d6a7 ;
    }
    body {
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif;
      font-size: var(--base-font-size);
      line-height: var(--base-line-height);
      max-width: 900px;
      margin: 0 auto;
      padding: 20px;
      background-color: var(--bg-color);
      color: var(--text-color);
      transition: background-color 0.3s, color 0.3s;
      word-break: break-word;
    }
    .settings-ui {
      background: var(--human-bg);
      border: 2px solid var(--box-border);
      padding: 15px;
      border-radius: 10px;
      margin-bottom: 20px;
      position: relative;
      z-index: 1;
    }
    .settings-row { display:flex; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:10px; }
    .settings-row:last-child { margin-bottom:0; }
    .link-section {
      background: #fff ;
      border: 1px solid var(--box-border);
      padding: 18px;
      border-radius: 10px;
      margin-bottom: 22px;
    }
    body.dark-mode .link-section { background:#1e1e1e; }
    .link-section h3 { margin:0 0 10px 0; font-size:1.05em; border-bottom:1px solid var(--box-border); padding-bottom:6px; }
    .link-section ul { margin:0; padding-left:20px; }
    .link-section li { margin-bottom:12px; word-break:break-all; }
    .link-section a { color: var(--link-color); text-decoration:none; }
    .message {
      border-radius: 10px;
      padding: 22px 20px;
      margin-bottom: 26px;
      border: 1px solid var(--box-border);
      line-height: 2.1;
    }
    .message .label {
      font-weight: 800;
      font-size: 0.95em;
      margin-bottom: 14px;
      letter-spacing: 0.02em;
    }
    .human-message { background: var(--human-bg); border-left:5px solid var(--human-border); }
    .human-message .label { color: var(--human-label); }
    .ai-message { background: var(--ai-bg); border-left:5px solid var(--ai-border); }
    .ai-message .label { color: var(--ai-label); }
    .message img {
      max-width: 100%;
      height: auto;
      border-radius: 8px;
      margin: 16px auto;
      border: 1px solid var(--box-border);
      display: block;
    }
    hr { border:0; border-top:1px dashed var(--box-border); margin:22px 0; }
    button, select {
      padding: 6px 12px;
      border: 1px solid var(--box-border);
      border-radius: 6px;
      background: #fff ;
      color: #111 ;
      cursor:pointer;
      font-size:0.92rem;
    }
    body.dark-mode button, body.dark-mode select { background:#2a2a2a; color:#eee; }
    blockquote {
      margin: 14px 0;
      padding: 10px 14px;
      border-left: 4px solid var(--human-border);
      background: rgba(0,0,0,0.04);
      border-radius: 4px;
    }
    body.dark-mode blockquote { background: rgba(255,255,255,0.06); }
    a { color: var(--link-color); }
    body.force-inline mjx-container[display="true"] { display: inline-block !important; margin: 0 0.2em !important; vertical-align: middle; }
    body.force-inline mjx-container[display="false"] { display: inline-block !important; margin: 0 0.15em !important; }
    body.force-display mjx-container[display="false"] { display: block !important; margin: 1.0em 0 !important; text-align: center; }
    body.force-display mjx-container[display="true"] { display: block !important; margin: 1.4em 0 !important; text-align: center; }
    body.force-display p:has(> mjx-container) { text-align: center; }
    @media (max-width:600px){ body{ padding:10px; } .message{ padding:16px 14px; } }
    </style>
    <script>
    window.MathJax = { tex: { inlineMath: [['$', '$'], ['\\(','\\)']], displayMath: [['$$','$$'], ['\\[','\\]']] } };
    </script>
    <script async id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
    </head>
    
    <body>
    <div class="settings-ui">
      <div class="settings-row">
        <label>文字サイズ:</label>
        <input type="range" id="font-size-slider" min="12" max="36" value="22" step="1">
        <span id="font-size-display">22px</span>
        <label style="margin-left:10px;">行間:</label>
        <span id="line-height-display">1.90</span>
      </div>
      <div class="settings-row">
        <label>数式:</label>
        <select id="math-style-select">
          <option value="auto">標準</option>
          <option value="inline">インライン統一</option>
          <option value="display">独立行統一</option>
        </select>
        <label>AI選択:</label>
        <select id="ai-select">
          <option value="ChatGPT">ChatGPT</option>
          <option value="Gemini">Gemini</option>
          <option value="Meta">Meta</option>
          <option value="Claude">Claude</option>
          <option value="AI Studio">AI Studio</option>
        </select>
      </div>
      <div class="settings-row">
        <button id="save-btn">この対話を保存</button>
        <button id="dark-mode-btn">背景・文字色を反転</button>
      </div>
      <div class="settings-row" style="font-size:0.8em; opacity:0.8;">
        🧑=青系背景 ヒト側 / 🤖=緑系背景 AI解答側
      </div>
    </div>
    
    <!-- ① タイトル -->
    <h1>__ここにタイトル__</h1>
    
    <!-- ② 先頭リンク -->
    <div class="link-section">
    <h3>【先頭リンク・参照】</h3>
    <ul>
    __ここに先頭リンクリスト__
    </ul>
    </div>
    
    <!-- ③ 本文(改行・空行を完全に維持して展開) -->
    <div class="message human-message">
    <div class="label">🧑 HUMAN - ヒト側 / __見出し__</div>
    __ここに本文(改行・連続改行<br><br>を1つも消さずにそのまま展開)__
    </div>
    
    <script>
    const fontSizeSlider = document.getElementById('font-size-slider');
    const fontSizeDisplay = document.getElementById('font-size-display');
    const lineHeightDisplay = document.getElementById('line-height-display');
    function updateLineHeightFromFontSize(fontSize) {
      const lh = (1.35 + (fontSize / 38) * 0.95).toFixed(2);
      document.documentElement.style.setProperty('--base-line-height', lh);
      if(lineHeightDisplay) lineHeightDisplay.textContent = lh;
      return lh;
    }
    fontSizeSlider.addEventListener('input', function() {
      const val = parseInt(this.value, 10);
      document.documentElement.style.setProperty('--base-font-size', val + 'px');
      fontSizeDisplay.textContent = val + 'px';
      updateLineHeightFromFontSize(val);
    });
    updateLineHeightFromFontSize(parseInt(fontSizeSlider.value, 10));
    
    const darkModeBtn = document.getElementById('dark-mode-btn');
    darkModeBtn.addEventListener('click', () => {
      document.body.classList.toggle('dark-mode');
    });
    
    const mathStyleSelect = document.getElementById('math-style-select');
    mathStyleSelect.addEventListener('change', (e) => {
      document.body.classList.remove('force-inline', 'force-display');
      if(e.target.value === 'inline') document.body.classList.add('force-inline');
      else if(e.target.value === 'display') document.body.classList.add('force-display');
      if(window.MathJax){ MathJax.typesetPromise(); }
    });
    
    const saveBtn = document.getElementById('save-btn');
    const aiSelect = document.getElementById('ai-select');
    saveBtn.addEventListener('click', () => {
      const aiName = aiSelect.value.replace(/\s+/g, '_');
      const now = new Date();
      const yyyy = now.getFullYear();
      const mm = String(now.getMonth() + 1).padStart(2, '0');
      const dd = String(now.getDate()).padStart(2, '0');
      const hh = String(now.getHours()).padStart(2, '0');
      const min = String(now.getMinutes()).padStart(2, '0');
      const ss = String(now.getSeconds()).padStart(2, '0');
      const filename = `_EinsteinDraft_${aiName}_${yyyy}${mm}${dd}${hh}${min}${ss}_human_ai_distinct.html`;
      const htmlContent = "<!DOCTYPE html>\n" + document.documentElement.outerHTML;
      const blob = new Blob([htmlContent], { type: 'text/html;charset=utf-8' });
      const url = URL.createObjectURL(blob);
      const a = document.createElement('a');
      a.href = url;
      a.download = filename;
      document.body.appendChild(a);
      a.click();
      document.body.removeChild(a);
      URL.revokeObjectURL(url);
    });
    </script>
    </body>
    </html>
    
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    【入力データ】
    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
    ■ タイトル:
    (ここにタイトルを入力)
    
    ■ 先頭リンク:
    (ここにURL・リンクを入力)
    
    ■ 今回の本文(改行・連続改行を維持してHTML化する対象):
    (ここに本文・草稿テキストを入力)
    
    本文は そのままHTML構造化する
    順番通り 改行も
    




    あなたへのおすすめ